SWING으로 JFrame GUI 만들기
창은 모든 위젯을 포함하는 기본 패널이며 javax.swing.jframe 의 업그레이드 버전입니다. java.awt.Frame. 이 새로운 클래스는 Swing 아키텍처를 지원하며 AWT의 이벤트 모델을 구현합니다.JFrame에는 기본 패널인 콘텐츠 창이 있습니다. 다른 구성 요소를 포함합니다 : JPanel, JMenu, JButton, etc.
Creating and displaying windows
import javax.swing.JFrame;Output
public class Test extends JFrame{
public static void main(String[] args) {
//1. JFrame
JFrame window = new JFrame("JFrame Test");
//2입니다. window를 닫은 후 응용 프로그램을 중지합니다
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//3입니다. 너비와 높이를 설정합니다
window.setSize(400,300);
//4입니다. 선택 사항: centered position
window.setLocationRelativeTo(null);
//5입니다. window
window.setVisible(true);
}
}
코드 설명:
1. 첫 번째 명령문은 JFrame.
2 클래스의 인스턴스를 사용하여 입력 제목이 있는 창을 만듭니다. EXIT_ON_CLOSE .
3 창이 닫힌 후 프로그램을 종료합니다. 메서드 setSize은 너비와 높이를 제공합니다. java가 자동으로 차원을 감지하도록 하려면 내부 구성 요소의 크기에 따라 pack
4 메서드를 사용합니다. setLocationRelativeTo(null)은 창을 화면 가운데에 배치합니다. 우리는 또한 setLocation(x,y).
5입니다. setVisible 창을 화면에 표시합니다.
위젯을 삽입하는 방법
add()을 사용하면 구성 요소를 추가할 수 있습니다. 이 예제에서는 JTextArea와 JButton을 삽입합니다.
import javax.swing.JFrame;Output
import javax.swing.JTextArea;
public class Test extends JFrame{
public static void main(String[] args) {
JFrame frame = new JFrame("JFrame test");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
JTextArea jta = new JTextArea("텍스트 입력");
//텍스트 크기 조정
jta.setPreferredSize(new Dimension(400,300));
//가운데에 텍스트 상자 넣기
frame.add(jta);
//남쪽에 버튼 넣기
frame.add(new JButton("erase"),BorderLayout.SOUTH);
//JtextArea와 JButton의 차원을 합산하여 창 크기를 자동으로 계산합니다
frame.pack();
}
}
텍스트 상자는 중앙에 있으며 기본적으로 중앙에 삽입되므로 영역을 정의할 필요가 없습니다. frame.add(jta, BorderLayout.CENTER)입니다. 이 예제에서는 getContentPane.