ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [7주][3일][3~4th] JAVA: awt보다 좋은 swing?
    N스크린하이브리드앱과정/JAVA 2013. 8. 28. 11:55

    1. 실습(1)

    /*
     * Swing과 AWT의 차이점
     * AWT : 플랫폼에 종속적
     * Swing : 플랫폼에 독립적(JVM이 직접 구현)
     */
    public class Ex{
     public static void main(String[] args) {
      JFrameTest ex = new JFrameTest();
     }
    }

    class JFrameTest extends JFrame{
     Dimension d;
     public JFrameTest(){
      super("Swing JFrame Test");
      d = new Dimension(300,200);
      setSize(d);
      setVisible(true);
      // 생략 가능(기본적으로 숨어있음)
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     }
    }

     

    2. 실습(2)

    public class Ex2 {
     public static void main(String[] args) {
      JframeTest2 ex = new JframeTest2();

     }
    }

    class JframeTest2 extends JFrame{
     JButton btn1, btn2, btn3;
     
     public JframeTest2(){
      super("JButton Test");
      
      setLayout(new FlowLayout());
      
    //  btn1 = new JButton("One");
    //  btn2 = new JButton("Two");
    //  btn3 = new JButton("Three");
      
      btn1 = new JButton(new ImageIcon("D:/workspace/Swing/btn1.jpg"));
      btn1.setPressedIcon(new ImageIcon("D:/workspace/Swing/btn2.jpg"));
      btn1.setRolloverIcon(new ImageIcon("D:/workspace/Swing/btn3.jpg"));
      btn1.setSize(50,50);
      btn2 = new JButton("Two");
      btn3 = new JButton("Three");
      
      add(btn1);
      add(btn2);
      add(btn3);
      
      setSize(new Dimension(300, 200));
      setVisible(true);
     }
    }

     

    3. 실습(3)

    public class Ex3 {
     public static void main(String[] args) {
      JFrameTest3 ex = new JFrameTest3();
     }
    }

    class JFrameTest3 extends JFrame{
     JCheckBox cb1, cb2, cb3;
     JRadioButton rb1, rb2, rb3, rb4, rb5, rb6;
     JPanel p1,p2,p3;
     
     public JFrameTest3(){
      super("체크&라디오 박스 테스트");
      
      p1 = new JPanel();
      cb1 = new JCheckBox("JAVA",true);
      cb2 = new JCheckBox("JSP",false);
      cb3 = new JCheckBox("Android",false);
      p1.add(cb1);
      p1.add(cb2);
      p1.add(cb3);
      add(p1,BorderLayout.NORTH);
      
      p2 = new JPanel();
      rb1 = new JRadioButton("남자",true);
      rb2 = new JRadioButton("여자",false);
      // 라디오 버튼을 그룹화
      p2.add(rb1);
      p2.add(rb2);
      ButtonGroup gr1 = new ButtonGroup();
      gr1.add(rb1);
      gr1.add(rb2);  
      add(p2,BorderLayout.CENTER); // 위치 생략시 CENTER
      
      p3 = new JPanel();
      rb3 = new JRadioButton("10대",true);
      rb4 = new JRadioButton("20대",false);
      rb4 = new JRadioButton("30대",false);
      p3.add(rb3);
      p3.add(rb4);
      ButtonGroup gr2 = new ButtonGroup();
      gr2.add(rb3);
      gr2.add(rb4);
      add(p3,BorderLayout.SOUTH);
      
      setSize(new Dimension(300,150));
      setVisible(true);
     }
    }

     

    4. 실습(4)

    public class Ex4 {
     public static void main(String[] args) {
      JFrameTest4 ex = new JFrameTest4();
     }
    }

    class JFrameTest4 extends JFrame {
     JProgressBar progress;

     public JFrameTest4() {
      setLayout(new FlowLayout());

      progress = new JProgressBar(0, 100);
      progress.setValue(0);
      progress.setStringPainted(true); // 퍼센테이지 보이게 하기

      add(progress);

      setSize(300, 150);
      setVisible(true);
      
      progress_start();
     }

     public void progress_start() {
      int i;
      try {
       for(i=0; i<=100; i++){
        progress.setValue(i);
        Thread.sleep(50);
       }   
      } catch (InterruptedException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();

      }
     }
    }

     

    5. 실습(5)

    public class Ex5 {
     public static void main(String[] args) {
      JFrameTest5 ex = new JFrameTest5();
     }
    }

    class JFrameTest5 extends JFrame implements ActionListener{
     JButton btn1, btn2, btn3, btn4;
     
     public JFrameTest5(){
      setLayout(new FlowLayout());
      
      btn1 = new JButton("Message");
      btn2 = new JButton("Confirm");
      btn3 = new JButton("Input");
      
      add(btn1);
      add(btn2);
      add(btn3);
      
      btn1.addActionListener(this);
      btn2.addActionListener(this);
      btn3.addActionListener(this);
      
      setBounds(300,200,300,300);
      setVisible(true);
     }

     @Override
     public void actionPerformed(ActionEvent e) {
      //버튼 내용이 btn1과 같냐고 묻는 것
      if(e.getSource() == btn1){
       JOptionPane.showMessageDialog(this, "메세지 보여주기!");
      }else if(e.getSource()==btn2){
       int ans = JOptionPane.showConfirmDialog(this, "종료할까요?");
       if(ans == JOptionPane.YES_OPTION) System.exit(0);
      }else if(e.getSource()==btn3){
       String str = JOptionPane.showInputDialog("암호를 입력하시오.");
       System.out.println(str);
      }
     }
    }

     

Designed by Tistory.