Java
[Java] Swing - JFrame
circle.j
2022. 10. 10. 20:27
프레임 생성
Frame을 만드는 방법은 크게 두 가지가 있다.
- main() 메서드에서 JFrame 객체를 생성한다.
- JFrame을 상속받은 클래스를 만들어 Frame을 생성한다. (☆)
[1] main() 메서드에서 JFrame 객체 생성
package frame;
import javax.swing.JFrame;
public class MyFrame1 {
public static void main(String[] args) {
JFrame f = new JFrame();
f.setSize(300, 300);
f.setTitle("First frame");
f.setVisible(true);
}
}
[2] JFrame을 상속받은 클래스를 만들어 Frame을 생성한다. (☆)
package frame;
import javax.swing.JFrame;
public class MyFrame2 extends JFrame {
public MyFrame2() {
setTitle("First Frame");
setSize(300, 300);
setVisible(true);
}
public static void main(String[] args) {
MyFrame2 mf = new MyFrame2();
}
}
프레임에 컴포넌트 붙이기 (ex. JButton)
package frame;
import javax.swing.JButton;
import javax.swing.JFrame;
public class ContentPaneFrame extends JFrame{
public ContentPaneFrame(String title, int width, int height) {
setTitle(title);
setSize(width, height);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// JButton
JButton b1 = new JButton("OK");
this.add(b1);
setVisible(true);
}
public static void main(String[] args) {
new ContentPaneFrame("ContentPaneFrame", 300, 200);
}
}
정리
(1) JFrame 타이틀
// 1.
JFrame f = new JFrame("타이틀");
// 2.
JFrame f = new JFrame();
f.setTitle("타이틀");
(2) ContentPane 알아내기
JFrame frame = new JFrame();
Container contentPane = frame.getContentPane();
(3) ContentPane에 컴포넌트 달기
JFrame frame = new JFrame();
JButton b = new JButton("Click");
frame.add(b);
(4) ContentPane 변경
JPanel p = new JPanel();
frame.setContentPane(p);