자바 JFC 구성 및 일반 클래스 활용 JDialog

자바 JFC 구성 및 일반 클래스 활용 JDialog


JDialog
다이알로그는 어떠한 액션을 했을 때 경고창 비슷한 기능을 한다 .
예제로는 아이디를 넣었을때 사용할수 있는 아이디입니다 라는 문구가 뜨는 예제를 보여준다.

ex )

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import java.awt.*;
import javax.swing.*;

class Round22_Ex01_Sub extends JFrame {// JFrame을 상속받는다
private Container con;
private FlowLayout fl = new FlowLayout();
private JLabel lb = new JLabel("ID : ", JLabel.RIGHT);
private JTextField tf = new JTextField(10);
private JDialog dlg = new JDialog(this, "확인");
// JDialog의 생성자를 선언한다 매개변수로는 this즉 현제창에서 띄우고 제목을 "확인"인박스
// 의 생성자를 선언
private Container dlgcon;
private JLabel dlglb = new JLabel("사용할 수 있는 ID 입니다. ", JLabel.CENTER);
private BorderLayout dlgbl = new BorderLayout();

public Round22_Ex01_Sub() {
super("제목");
this.init();
this.start();
im = new ImageIcon("title.gif");
this.setIconImage(im.getImage());
this.setSize(300, 200);
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension di = tk.getScreenSize();
Dimension di1 = this.getSize();
int xpos = ((int) di.getWidth() / 2 - (int) di1.getWidth() / 2);
int ypos = ((int) di.getHeight() / 2 - (int) di1.getHeight() / 2);
this.setLocation(xpos, ypos);
this.setVisible(true);
}

public void init() {
con = this.getContentPane();// 다중 Panel에서의 기본 작업영역 획득
con.setLayout(fl);
con.add(lb);
con.add(tf);
dlgcon = dlg.getContentPane();
// JDialog를 위한 Container객체이다
dlgcon.setLayout(dlgbl);
dlglb.setBorder(new BevelBorder(BevelBorder.RAISED));
dlgcon.add("Center", dlglb);
// dlgcon의 레이아웃의 센터영역에 dlglb를 넣는다
dlg.setSize(200, 150);
// dlg의 박스 사이즈를 선언한다.
dlg.setLocation(300, 300);
// dlg의 처음 띄울 자리를 세팅한다
// 폼 구성 영역 (초기화 영역)
}

public void start() {
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
tf.addActionListener(this);
dlg.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
// Frame의 x버튼을 눌렀을 때의 Event
// 이벤트나 기타 액션의 영역
}

public void actionPerformed(ActionEvent e) {
if (e.getSource() == tf) {
dlg.setVisible(true);
// 액션이 실행되면 dlg를 보일수 있게 박스속성을 true로 준다
}
}
}

public class Round22_Ex01 {
public static void main(String[] ar) {
Round22_Ex01_Sub es = new Round22_Ex01_Sub();
}
}

Share