๐FileDialog ํด๋์ค
- ํ์ผ๋ํ ์์์ด๋ค.
- ์ด์ด์ผํ๋ ํ์ผ์ ๊ฒฝ๋ก๋ ์ ์ฅํ ํ์ผ์ ๊ฒฝ๋ก, ํ์ผ์ ์ด๋ฆ์ด ํ์ํ ๋ ์ฌ์ฉํ ์ ์๋ค.
- FileDialog๋ ๋ด์ฉ๋ถ๋ฅผ ๊ตฌ์ฑํ ํ์๊ฐ ์๊ณ ํฌ๊ธฐ๋ฅผ ์ง์ ํ ํ์๊ฐ ์๋ค. ( ๊ฐ์ฒด๋ง ์์ฑํ๋ฉด ์๋์ผ๋ก ๋ง๋ค์ด์ง๋ค. )
๐ฌFileDialog ์์ฑ์
FileDialog ( Frame parent, String title, int mode )
- parent ( frame ) : Dialog๊ฐ ์ด๋ฆด ํ๋ ์.( ๋ํ์์๊ฐ ์์๋ ๋ถ๋ชจ ๊ฐ์ฒด )
- title : Dialog์ ํ์ดํ.
- mode : Dialog์ ๋ชจ๋๋ฅผ ์ค์ ํ๋ค. ( FileDialog.LOAD OR FileDialog.SAVE )
๊ทธ ์ธ ์ข ๋ฅ | default value |
FileDialog ( Dialog parent ) | ( ๋ํ์์ ๋ถ๋ชจ ) ํ์ผ์ ๋ก๋ํ๊ธฐ ์ํ ํ์ผ ๋ํ ์์๋ฅผ ๋ง๋ ๋ค. |
FilleDialog( Dialog parent, String title ) | ( ๋ํ์์ ๋ถ๋ชจ, ๋ฌธ์์ด ์ ๋ชฉ ) ํ์ผ์ ๋ก๋ํ๊ธฐ ์ํด ์ง์ ๋ ์ ๋ชฉ์ผ๋ก ํ์ผ ๋ํ ์์ ์ฐฝ์ ๋ง๋ ๋ค. |
FileDialog( Dialog parent, String title, int mod ) | ( ๋ํ์์ ๋ถ๋ชจ, ๋ฌธ์์ด ์ ๋ชฉ, int ๋ชจ๋ ) ํ์ผ์ ๋ก๋ํ๊ฑฐ๋ ์ ์ฅํ๊ธฐ ์ํด ์ง์ ๋ ์ ๋ชฉ์ผ๋ก ํ์ผ ๋ํ ์์ ์ฐฝ์ ๋ง๋ ๋ค. |
FileDialog( Frame parent ) | ( ํ๋ ์ ๋ถ๋ชจ ) ํ์ผ์ ๋ก๋ํ๊ธฐ ์ํ ํ์ผ ๋ํ์์๋ฅผ ๋ง๋ ๋ค. |
FileDialog( Frame parent, String title ) | ( ํ๋ ์ ๋ถ๋ชจ, ๋ฌธ์์ด ์ ๋ชฉ ) ํ์ผ์ ๋ก๋ํ๊ธฐ ์ํด ์ง์ ๋ ์ ๋ชฉ์ผ๋ก ํ์ผ ๋ํ ์์ ์ฐฝ์ ๋ง๋ ๋ค. |
FileDialog( Frame parent, String title, int mode ) | ( ํ๋ ์ ๋ถ๋ชจ, ๋ฌธ์์ด ์ ๋ชฉ, int ๋ชจ๋ ) ํ์ผ์ ๋ก๋ํ๊ฑฐ๋ ์ ์ฅํ๊ธฐ ์ํด ์ง์ ๋ ์ ๋ชฉ์ผ๋ก ํ์ผ ๋ํ ์์ ์ฐฝ์ ๋ง๋ ๋ค. |
๐ฌFileDialog ๋ฉ์๋
- String getDirectory() => ํ์ฌ ์ ํ๋ ๋๋ ํ ๋ฆฌ ์ป๊ธฐ
- String getFile() => ํ์ฌ ์ ํ๋ ํ์ผ๋ช ์ป๊ธฐ
- ing getModel() => ํ์ฌ ์ค์ ๋ ๋ชจ๋ ์ป๊ธฐ ( SAVE OR LOAD )
- void setDirectory( String dir ) => FileDialog์ ๋๋ ํ ๋ฆฌ ์ค์ ํ๊ธฐ
- void setFile( String file ) => FileDialog์ ์ ํ๋ ํ์ผ ์ค์ ํ๊ธฐ
- void setMode( int mode ) => FileDialog์ ๋ชจ๋ ์คํํ๊ธฐ
๐ฌFileDialog ๊ด๋ จ ์ฝ๋
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 ์ฒ๋ฆฌํ ๋ถ๋ถ
}
}
//์ถ์ฒ : https://blog.hyper-link.kr/2011/07/12/java-awt-filedlg/
01. https://blog.hyper-link.kr/์๋ฐ FileDialog ํด๋์ค ์์ฑ์&๋ฉ์๋ ์ค๋ช
์๋ฐ AWT ์ปดํฌ๋ํธ FileDialog ํด๋์ค
์๋ฐ AWT ์ปดํฌ๋ํธ FileDialog ํด๋์ค java.awt.Filedialog ํด๋์ค FileDialog๋ ๋ด์ฉ๋ถ๋ฅผ ๊ตฌ์ฑํ ํ์๊ฐ ์๊ณ ํฌ๊ธฐ๋ฅผ ์ง์ ํ ํ์๊ฐ ์๋ค ๊ฐ์ฒด๋ง ์์ฑํ๋ฉด ์๋์ผ๋ก ์ด๋ฃจ์ด์ง๋ค๋งด๋ฒ๋ณ์(Fields)ํ๋์์ฑ ํ๋
blog.hyper-link.kr
https://dinae.tistory.com/์๋ฐ FileDialog ์์
[Java] FileDialog / ํ์ผ ๋ค์ด์ผ๋ก๊ทธ ๋งค๊ฐ๋ณ์, ์์ , ๋ฉ์๋
FileDialog FileDialog๋ ํ์ผ ๋ํ ์์์ ๋๋ค. ์ด์ด์ผํ๋ ํ์ผ์ ๊ฒฝ๋ก๋ ์ ์ฅํ ํ์ผ์ ๊ฒฝ๋ก, ํ์ผ์ ์ด๋ฆ์ด ํ์ํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. FileDialog ํด๋์ค ์์ฑ์ FileDialog(Frame parent, String titl..
dinae.tistory.com
[Java - AWT ํ์ต์ ๋ฆฌ] ์๋ฐ์ GUIํ๋ก๊ทธ๋๋ฐ - (1) AWT์ปดํฌ๋ํธ, ๋ฉ๋ด ์ปดํฌ๋ํธ, ๋ ์ด์์ ๋งค๋์
์ด ๊ธ์ ์๋ ๋งํฌ ๋ฌธ์๋ฅผ ๋ณด๋ฉฐ ๊ณต๋ถํ ๊ฒ์ ์์ฝ์ ๋ฆฌํ ๊ฒ์ ๋๋ค. ๊ฐ์ฌํฉ๋๋ค๐โ๏ธ '์๋ฐ์ ์ ์' ๋จ๊ถ์ฑ ๋์ ๋ธ๋ก๊ทธ ์๋ฃ - AWT [์๋ฐ์ ์ ์ 2ํ] 13์ฅ AWT์ ๋๋ค.(PDF) java์ ์ ์ 3ํ์์ AWT
bibi6666667.tistory.com