(프로그래밍아는사람꼭보시길....)지금 영재교육원에서

by 진박사 posted Aug 12, 2010

게임제작중.....

import java.awt.event.ActionEvent;
import java.io.File;
import java.util.Scanner;
import java.io.FileWriter;
import java.awt.event.ActionListener;
import java.awt.event.ItemListener;
import java.awt.event.ItemEvent;

import javax.swing.JSlider;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;

public class 옵션 {
 
 public static JFrame 화면 = new JFrame( "옵션설정" );
 public static JLabel 소리 = new JLabel( "소리설정" );
 public static JSlider 소리설정 = new JSlider();
 public static JButton 버튼1 = new JButton( "설정" );
 public static JButton 버튼2 = new JButton( "초기화" );
 public static JButton 버튼3 = new JButton( "취소" );
 public static JCheckBox 배경음설정 = new JCheckBox();
 public static JCheckBox 효과음설정 = new JCheckBox();
 public static int 배경음선택 = 0;
 public static int 효과음선택 = 0;
 public static JLabel 라벨1 = new JLabel( "배경음선택" );
 public static JLabel 라벨2 = new JLabel( "효과음선택" );
 public static JComboBox 배경설정 = new JComboBox( new String[] {"배경_01","배경_02","배경_03","배경_04"} );

 public 옵션(){

  try{

   Scanner s = new Scanner( new File( "Settings.txt" ) );
   소리설정.setValue( s.nextInt() );
   int 임시 = s.nextInt();
   if( 임시 == ItemEvent.DESELECTED )
    배경음설정.setSelected( false );
   else
    배경음설정.setSelected( true );
   임시 = s.nextInt();
   if( 임시 == ItemEvent.DESELECTED )
    효과음설정.setSelected( false );
   else
    효과음설정.setSelected( true );
   임시 = s.nextInt();
   배경설정.setSelectedIndex( 임시 );
   s.close();
  }
  catch( Exception ex ){ System.err.println( ex ); }

  ItemListener 체크확인 = new ItemListener(){
  
      public void itemStateChanged(ItemEvent e) {

          Object source = e.getItemSelectable();

          if( 배경음설정 == source )
           배경음선택 = e.getStateChange();
          if( 효과음설정 == source )
           효과음선택 = e.getStateChange();
      }
  };
  ActionListener 돌아가기행동 = new ActionListener(){
   
   public void actionPerformed( ActionEvent e ){

    화면.dispose();
    new 메인();
   }
  };

  ActionListener 초기화행동 = new ActionListener(){
   
   public void actionPerformed( ActionEvent e ){

    try{

     소리설정.setValue( 50 );
     배경음설정.setSelected( true );
     효과음설정.setSelected( true );
     배경설정.setSelectedIndex( 0 );
    }
    catch( Exception ex ){ System.err.println( ex ); }
   }
  };
  
  ActionListener 설정행동 = new ActionListener(){
   
   public void actionPerformed( ActionEvent e ){

    화면.dispose();
    try{

     FileWriter fw = new FileWriter( new File( "Settings.txt" ) );
     fw.write( 소리설정.getValue() + "n" );
     fw.write( 배경음선택 + "n" );
     fw.write( 효과음선택 + "n" );
     fw.write( 배경설정.getSelectedIndex() + "n" );
     fw.flush();
     fw.close();
    }
    catch( Exception ex ){ System.err.println( ex ); }
    new 메인();
   }
  };

  
  화면.setLayout( null );
  화면.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
  화면.add( 소리설정 );
  소리설정.setBounds( 10, 30, 200, 20 );
  화면.add( 소리 );
  소리.setBounds( 10, 10, 100, 20 );
  화면.add( 버튼1 );
  버튼1.setBounds( 5, 220, 90, 40 );
  버튼1.addActionListener( 설정행동 );
  화면.add( 버튼2 );
  버튼2.setBounds( 100, 220, 90, 40 );
  버튼2.addActionListener( 초기화행동 );
  화면.add( 버튼3 );
  버튼3.setBounds( 195, 220, 90, 40 );
  버튼3.addActionListener( 돌아가기행동 );
  화면.add( 효과음설정 );
  효과음설정.setBounds( 10, 50, 20, 20 );
  효과음설정.addItemListener( 체크확인 );
  화면.add( 배경음설정 );
  배경음설정.setBounds( 110, 50, 20, 20 );
  배경음설정.addItemListener( 체크확인 );
  화면.add( 라벨1 );
  라벨1.setBounds( 35, 50, 90, 20 );
  화면.add( 라벨2 );
  라벨2.setBounds( 135, 50, 90, 20 );
  화면.add( 배경설정 );
  배경설정.setBounds( 25, 180, 160, 30 );
  화면.setBounds( 500, 500, 300, 300 );
  화면.setVisible( true );
 }

 public static void main( String[] args ){
  
  new 옵션();
 }
}

이거알아들으면....ㅋ...ㅋㅋ

으아니하챠!! ㅠ_ㅠ