자바 AWT 컴포넌트 FileDialog 클래스

자바 AWT 컴포넌트 FileDialog 클래스


java.awt.Filedialog 클래스


FileDialog는 내용부를 구성할 필요가 없고 크기를 지정할 필요가 없다 객체만 생성하면 자동으로 이루어진다
맴버변수(Fields)
필드속성 필드명 내용
static final int LOAD 열기 속성의 파일 다이알로그
static final int SAVE 저장 속성의 파일 다이알로그

생성자(Constructs)
Constructs 내용
FileDialog(Frame parent) parent에 귀속된 FileDialog생성
FileDialog(Frame p, String title) parent에 귀속되고 title의 제목을 가진 FileDialog 생성
FileDialog(Frame p, String t, int mode) parent에 귀속되고 title의 제목을 가지며 LOAD나
SAVE속성을 지정할 수 있는 생성자

Methods
Method 내용
String getDirectori() 현재 선택된 디렉토리 얻기
String getFile() 현재 선택된 파일명 얻기
int getMode() 현재 설정된 모드 얻기(SAVE or LOAD)
void setDirectory(String dir) FileDialog의 디랙토리 설정하기
void setFile(String file) FileDialog의 선택될 파일 설정하기
void setMode(int mode) FileDialog의 모드 실행하기

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
71
72
73
74
75
import java.awt.*;

public class Round17_Ex02 {
public static void main(String[] ar) {
Round17_Ex02_Sub round = new Round17_Ex02_Sub();
}
}

class Round17_Ex02_Sub extends Frame {
private Dimension dimen, dimen1;
private int xpos, ypos;
private Label lb1 = new Label("directory");
private Label lb2 = new Label("file = ");
private FileDialog fdlg = new FileDialog(this, "내파일열기", FileDialog.LOAD);

// FileDialog 객체를 선언한다 this는 FileDialog가 종속되어 있는 부모 프레임을 이야기 하는것
// 이고 속성으로 SAVE와 LOAD를 지정할수 있다 .
public Round17_Ex02_Sub() {
super("제목넣기");
// Frame을 상속받았기 때문에 super로 상위 상속자 호출
this.init();
this.start();
this.setSize(300, 200);
// Frame을 상속받아 this의 메소드 호출한다 가로300, 세로 200의 Frame세팅
dimen = Toolkit.getDefaultToolkit().getScreenSize();
// 화면의 스크린 가로/세로 스크린 사이즈를 가져온다
dimen1 = this.getSize();
// Frame의 가로/세로 스크린 사이즈를 가져온다
xpos = (int) (dimen.getWidth() / 2 - dimen1.getWidth() / 2);
// 정중앙의 x값을 구한다 화면의 가로 사이즈를 2로 나눈값과 Frame의 가로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 x값을 구한다
ypos = (int) (dimen.getHeight() / 2 - dimen1.getHeight() / 2);
// 정중앙의 y값을 구한다 화면의 세로 사이즈를 2로 나눈값과 Frame의 세로 사이즈를 2로
// 나눈값을 뺀다 그럼 정중앙의 y값을 구한다
this.setLocation(xpos, ypos);
// Frame의 띄울 위치를 x값과 y값으로 띄울 위치를 설정한다.
this.setVisible(true);
// 화면에 보이게 한다
try {
Thread.sleep(5000);
} catch (InterruptedException ee) {
}
fdlg.setVisible(true);
// FileDialog를 지정한다 FileDialog에서 특정내용을 선택하고 열기 버턴을 누른다
String dir = fdlg.getDirectory();
// 그러면 선택된 directory를 얻어온다
String file = fdlg.getFile();
// file이름을 얻어온다
lb1.setText(lb1.getText().trim() + dir);
// lb1에 dir을 추가한다
lb2.setText(lb2.getText().trim() + file);
// lb2에 file을 추가한다
}

public void init() {
// 화면 구성 넣을 부분
GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints gc = new GridBagConstraints();
this.setLayout(gridbag);
lb1.setBackground(Color.Yellow);
lb2.setBackground(Color.Yellow);
gc.weightx = 1;
gc.fill = GridConstraints.HORIZONTAL;
gc.gridwidth = GridBagConstraints.REMAINDER;
gc.insets = new Insets(0, 0, 10, 0);
gridbag.setConstraints(lb1, gc);
this.add(lb1);
gridbag.setConstraints(lb2, gc);
this.add(lb2);
}

public void start() {
// Event나 Thread 처리할 부분
}
}

Share