Java/Java Concept

[Java] Swing 컴포넌트와 이벤트핸들링

군우 2018. 3. 13. 20:45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package swing25;
 
import java.awt.*;
import javax.swing.*;
 
class FirstSwing
{    
    public static void main(String[] args)
    {
        JFrame frm=new JFrame("First Swing");
        frm.setBounds(120120400100);
        frm.setLayout(new FlowLayout());
        
        JButton btn1=new JButton("My Button");
        JButton btn2=new JButton("Your Button");
        JButton btn3=new JButton("Our Button");
        
        frm.add(btn1);        
        frm.add(btn2);        
        frm.add(btn3);
        frm.setVisible(true);
    }
}
cs

1. jframe 등록,  

2. jframe 인스턴스를 이용한 크기 위치 설정

3. botton 지정을위한 jframe 내의  레이아웃  설정.

4. 버튼 객체 인스턴스 추가

5. 버튼 인스턴스 등록 add()  // 만들고 등록해야함.

5. setVisible  // jFrame 을 보이게하는 것 해야함.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package swing25;
 
import java.awt.*;
import java.awt.event.*;
 
class FirstAWTExitEvent
{    
    public static void main(String[] args)
    {
        Frame frm=new Frame("First Swing");
        frm.setBounds(120120400100);
        frm.setLayout(new FlowLayout());
        
        WindowListener listen=new WindowAdapter()
        {
            public void windowClosing(WindowEvent ev)
            {
                System.out.println("close");
        System.exit(0);    // 프로그램의 종료를 명령하는 메소드 
            }
        };
        
        frm.addWindowListener(listen);
        
        Button btn1=new Button("My Button");
        Button btn2=new Button("Your Button");
        Button btn3=new Button("Our Button");
        
        frm.add(btn1);        
        frm.add(btn2);        
        frm.add(btn3);
        frm.setVisible(true);
    }
}
cs


종료 버튼을 눌렀을 때의 이벤트 핸들링

import java.awt.event.*;

        WindowListener listen=new WindowAdapter()
        {
            public void windowClosing(WindowEvent ev)
            {
                System.out.println("close");
        System.exit(0);    // 프로그램의 종료를 명령하는 메소드 
            }
        };

1. 윈도우 리스너 객체생성 WindowListener l1 = new WindowAdapter() 

2. {} 어나니머스 클래스


f1.setLayout(new FlowLayout());  프레임위에 올라간 button 들을 관리감독한다

FlowLayout 은 인스턴스이지만,  배치관리자라고 한다.

FlowLayout이라는 배치관리자