import javax.swing.JFrame;
public class java14_1 {
public static void main(String[] args) {
JFrame MainFrame = new JFrame();
// ์๋จ ํ์ดํ ๋ฃ์ด์ฃผ๊ธฐ setTitle
MainFrame.setTitle("swing ์ฐ์ต");
// ํ๋ ์ ํฌ๊ธฐ ์ง์ setSize
MainFrame.setSize(200,200);
// ํ๋ฉด์ ๋ํ๋ด๊ณ ์ ํ ๋ setVisible
MainFrame.setVisible(true);
}
}
์ปดํ์ผํ๋ฉด ์ด๋ ๊ฒ ๋ฌ๋ค! โค๏ธ
๋ ์ด์์ ๊ด๋ฆฌ์ = ๋์ด ํํ ์ ๊ณต
(FlowLayout, BorderLayout, GridLayout, CardLayout)
import javax.swing.JButton;
import javax.swing.JFrame;
public class java14_3 extends JFrame {
java14_3() {
setTitle("Swing ์ฐ์ต");
setSize(200,200);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/* 1) ๋ฒํผ์ ์ปจํํธ ํฌ์ ํตํด ์ถ๊ฐํ๋ ์ฝ๋
* Container ContentPane = getContentPane();
* ContentPane.setLayout(null); // ์ปดํฌ๋ํธ ๋ฐฐ์น null๋ก ์ง์ ; ์ง์ ์ง์ด ๋ฃ๊ฒ ๋ค!
* JButton button = new JButton("test");
* button.setSize(70,20);
* button.setLocation(50,10);
* ContentPane.add(button); // ์ปจํํธํฌ์ ๋ฒํผ ์ถ๊ฐ
*/
// 2) JFrame๋ฅผ ํตํด ๋ฒํผ์ ์ถ๊ฐํ๋ ์ฝ๋
this.setLayout(null);
JButton button = new JButton("test");
button.setSize(70,20);
button.setLocation(50,10);
this.add(button);
}
public static void main(String[] args) {
new java14_3();
}
}
์ค์ ํ๋ก๊ทธ๋จ ์ข
๋ฃ
์, ๋ซ๊ธฐ ๋ฒํผ ํด๋ฆญ ํด์ผ ํ๋๋ฐ ์ฐ๋ฆฌ๊ฐ ์ค์ ๋ก ๋์ผ๋ก๋ ๋ซ๊ธฐ ๋ฒํผํด์
์ฌ๋ผ์ง๊ฑฐ์ฒ๋ผ ๋ณด์ด์ง๋ง ์ฌ์ค ์ค์์ ๋ฉ๋ชจ๋ฆฌ์์์๋ ์ด์์์
๊ทธ๋ด ๊ฒฝ์ฐ ํ๋ ์ ์์ฑ ์ close ๋ฒํผ์ ๋ํด์ ์ด๋ป๊ฒ ์ข
๋ฃํ ๊ฑด์ง์ ๋ํ ๋ถ๋ถ์ ์ถ๊ฐ ํด ์ค์ผ ํจ!
๋ฉ์๋๋ฅผ ํตํด์ ์ค์ ํด์ฃผ๊ธฐ!
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
์ด๋ ๊ฒ ํด์ฃผ๋ฉด ๋ซ๊ธฐ ๋ฒํผ์ ๋ซ์์ ๋์์ ์ค์ ํ๋ ์๋ ๊ฐ์ด ์ข
๋ฃ๋จ!
๋ฒํผ์ ๋๋ ์ผ๋ฉด ๋ฒํผ์ ๋๋ฅธ๊ฑฐ์ ๋ํ ๋ฉ์ธ์ง๊ฐ ๋ฐ์์ด ๋๊ณ ๊ทธ ๋ฉ์ธ์ง์ ํด๋น์ด ๋๋ ๋ฉ์๋๊ฐ ํธ์ถ๋์ด์ง๊ฒ ๋จ.
์ด๋ฒคํธ ์ฒ๋ฆฌ => ๋ฆฌ์ค๋
listener
๋ฆฌ์ค๋์ ์ค์ฒด =>์ธํฐํ์ด์ค
(์ด๋ฒคํธ ์ฒ๋ฆฌ๋ฅผ ์ํ ๋ฉ์๋ ์ ์)
๊ฐ๋
: ์ปจํ
์ด๋์ ์ปดํฌ๋ํธ๋ฅผ ์์น์ํค๋ ๋ฐฉ๋ฒ
=> ๋ ์ด์์ ๊ด๋ฆฌ์
์ปจํ
์ด๋๋ฅผ 5๊ฐ์ ์์ญ(๋, ์, ๋จ, ๋ถ, ์ค์)์ผ๋ก ๋ถํ ํ์ฌ ์ปดํฌ๋ํธ๋ฅผ ๋ฐฐ์น
BorderLayout.EAST
BorderLayout.WEST
BorderLayout.SOUTH
BorderLayout.NORTH
๋ถํ ์์ญ ์ค์ ์ฝ๋
setLayout(new BorderLayout());
add(new Button("North"),BorderLayout.NORTH);
์ปดํฌ๋ํธ์ ์์ง๊ณผ ์ํ ๊ฐ๊ฒฉ ์ค์
// ์์ฑ์๋ฅผ ํตํด์
BorderLayout(int hgap, int vgap)
void setHgap(int hgap)
void setVgap(int vgap)
์ปจํ
์ด๋ ๊ณต๊ฐ์ ๊ฒฉ์๋ชจ์์ผ๋ก ํ๊ณผ ์ด๋ก ๋๋๋ ๊ด๋ฆฌ์
setLayout(new GridLayout(3,2)); // 3์ 2์ด
add(new Button("1"));
์ปดํฌ๋ํธ์ ์์ง๊ณผ ์ํ ๊ฐ๊ฒฉ ์ค์
GridLayout(int rows, int cols)
GridLayout(int rows, int cols, int hgap, int vgap)
void setHgap(int hgap)
void setRows(int rows)
void setVgap(int vgap)