매니저/JAVA1

JAVA1 Component 예제 (임시저장)

cdprkr2077 2011. 12. 23. 21:05



import java.awt.*;
import java.awt.event.*;

class ComponentEx extends Frame
{
 public ComponentEx()
 {
  setLayout( new FlowLayout() );

  // Button
  Panel p1 = new Panel();
  Button bt1 = new Button( "가위" );
  Button bt2 = new Button( "바위" );
  Button bt3 = new Button();

  bt3.setLabel( "  보  " );         // bt3에 보를 넣어주고 띄어쓰기로 버튼 크기를 비슷하게 해준다.

  bt1.setBackground( Color.CYAN );     // 하늘색
  bt2.setBackground( Color.MAGENTA );   // 분홍색
  bt3.setBackground( Color.ORANGE );    // 주황색

  Font f = new Font ( "보통", Font.BOLD | Font.ITALIC , 20 );   // 폰트 스타일과 크기지정
  bt1.setFont( f );
  bt2.setFont( f );
  bt3.setFont( f );

  p1.add( bt1 );
  p1.add( bt2 );
  p1.add( bt3 );
  add( p1 );

  // Lobel
  Panel p2 = new Panel();
  Label la1 = new Label( "사과" );
  Label la2 = new Label( "배", Label.CENTER );   // 위치 정렬
  Label la3 = new Label( "바나나" );

  la3.setAlignment( Label.RIGHT );
  la1.setBackground( Color.RED );      // 빨강
  la2.setBackground( Color.GREEN );     // 초록
  la3.setBackground( Color.YELLOW );    // 노란

  p2.add( la1 );
  p2.add( la2 );
  p2.add( la3 );
  add( p2 );

  // List
  Panel p3 = new Panel();
  List list = new List( 7, true );       // 7칸을 보여주겠다.
  list.add( "경기도" );
  list.add( "강원도" );
  list.add( "충청도" );
  list.add( "전라도" );
  list.add( "경상도" );
  list.add( "제주도" );
  p3.add( list );
  add( p3 );

  p3.add( list );
  add( p3 );

  // Choice
  Panel p4 = new Panel();
  Choice ch = new Choice();
  ch.add( "서울" );
  ch.add( "대전" );
  ch.add( "대구" );
  ch.add( "부산" );
  ch.add( "광주" );
  ch.add( "울산" );
  ch.add( "전주" );
  p4.add( ch );
  add( p4 );

  // Checkbox
  Panel p5 = new Panel();
  Checkbox cb1 = new Checkbox( "독서" );
  Checkbox cb2 = new Checkbox( "등산", true );     // true를 주고 실행하면 체크되어있다.
  Checkbox cb3 = new Checkbox( "낚시" );
  Checkbox cb4 = new Checkbox( "게임" );
  p5.add( cb1 );
  p5.add( cb2 );
  p5.add( cb3 );
  p5.add( cb4 );
  add( p5 );

  // CheckboxGroup
  Panel p6 = new Panel();
  CheckboxGroup group = new CheckboxGroup();
  Checkbox cb5 = new Checkbox( "축구", true, group );    // true는 체크되어 나온다.
  Checkbox cb6 = new Checkbox( "야구", true, group );    // group이면 1가지만 선택하도록 된다.
  Checkbox cb7 = new Checkbox( "배구", true, group );
  Checkbox cb8 = new Checkbox( "농구", true, group );    // 하지만 하나만 선택할수 있기때문에 마지막만 체크가 된다.
  p6.add( cb5 );
  p6.add( cb6 );
  p6.add( cb7 );
  p6.add( cb8 );
  add( p6 );

  // TextArea
  Panel p7 = new Panel();
  // TextArea ta = new TextArea( "Hello" );                // Hello가 처음에 적혀있다. 
  TextArea ta = new TextArea( "", 10, 30, TextArea.SCROLLBARS_NONE );    // 스트롤바가 없어지고 글쓰는 공간이 한정된다.  // 가로 세로 지정 ( 10 , 30 )
  p7.add( ta );
  add( p7 );

  // TextFieid
  Panel p8 = new Panel();
  TextField tf = new TextField( "Hello", 30 );       // "Hello"가 처음부터 적혀있다. / 길이지정 30개
  p8.add( tf );
  add( p8 );

  // Menu
  // 1. 메뉴바 생성
  MenuBar mb = new MenuBar();

  // 2. 메뉴 생성
  Menu mfile = new Menu( "파일" );
  Menu medit = new Menu( "편집" );
  Menu mhelp = new Menu( "도움말" );
  mb.add( mfile );           // mb에 붙인다.
  mb.add( medit );
  mb.add( mhelp );

  // 3. 메뉴 아이템 생성
  MenuItem mopen = new MenuItem( "열기" );
  MenuItem msave = new MenuItem( "저장" );
  MenuItem mexit = new MenuItem( "종료" );
  mfile.add( mopen );          // mfile에 붙인다.
  mfile.add( msave );
  mfile.addSeparator();         // 경계선 하나 생성
  mfile.add( mexit );

  setMenuBar( mb );          // 메뉴바

  setBounds ( 700, 100, 300, 600 );
  setVisible( true );
  addWindowListener(
   new WindowAdapter()
  {
   public void windowClosing( WindowEvent e )  // windowClosing에서 앞 w를 대분자로 쓰지 말것
   {
    System.exit( 0 );
   }
  }
  );
 }
 public static void main( String[] args )
 {
  new ComponentEx();
 }
}