부모 클래스가 제공하는 속성과 메소드들은 자식 클래스인 JFrame이 사용할 수 있음
프레임에 버튼 추가하기
1) JBotton 객체 생성하기 → new해서 버튼 생성
2) add(객체 변수); → 프레임에 버튼 추가
package ex09; import javax.swing.*; import java.awt.*; public class MyFrame02 extends JFrame { public MyFrame02() { setSize(300,200); setTitle("My Frame"); setLayout(new FlowLayout()); JButton button = new JButton("버튼"); add(button); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { MyFrame01 f = new MyFrame01(); } }
JFrame 클래스
package ex09; import javax.swing.*; import java.awt.*; public class MyFrame03 extends JFrame { public MyFrame03() { setSize(300,150); setLocation(200,300); setTitle("My Frame"); setLayout(new FlowLayout()); getContentPane().setBackground(Color.yellow); JButton button1 = new JButton("확인"); JButton button2 = new JButton("취소"); this.add(button1); this.add(button2); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { MyFrame03 f = new MyFrame03(); } }
setTitle(String title) | JFrame 창의 제목 |
setSize(int width, int height) | JFrame 창의 크기 |
setLocation(int x, int y | JFrame 창의 위치를 화면 상의 좌표 (x, y)로 설정 |
setResizable(boolean resizable) | JFrame 창의 크기 조절 가능 여부 |
setVisible(boolean visible) | JFrame 창을 보이거나 숨기도록 설정
true이면 프레임 출력
모든 자식 컴포넌트를 추가한 후 맨 마지막에 위치 |
setDefaultCloseOperation(int operation) | JFrame 창이 닫힐 때의 동작 |
JFrame.EXIT_ON_CLOSE | 프로그램 자동 종료
System.exit(0) 메서드가 호출되어강제로 종
프로그램이 종료되어야 할 때 사용 |
JFrame.HIDE_ON_CLOSE | 창을 숨기는 동작 |
JFrame.DISPOSE_ON_CLOSE | Window.dispose() 메서드가 호출되어 창이 종료
프로그램의 완전히 종료
종료 이벤트 처리, 추가적인 작업을 수행할 때 사용 |
setLayout(LayoutManager manager) | 레이아웃 매니저를 지정 |
add(Component component) | JFrame에 컴포넌트를 추가 |
setIconImage(IconImage) | 윈도우 제목줄에 표시할 아이콘 설정 |
getContentPane() | JFrame의 Content Pane을 반환
Content Pane은 컴포넌트들이 배치되는 영역 |
JPanel 클래스
package ex09; import javax.swing.*; import java.awt.*; public class MyFrame04 extends JFrame { public MyFrame04() { JPanel panel1 = new JPanel(); panel1.setBackground(Color.orange); JButton b1 = new JButton("button1"); b1.setBackground(Color.yellow); JButton b2 = new JButton("button2"); b2.setBackground(Color.green); panel1.add(b1); panel1.add(b2); add(panel1); setSize(300, 150); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public static void main(String[] args) { MyFrame04 f = new MyFrame04(); } }
패널 : 컴포넌트들을 부탁할 수 있도록 설계된 컨테이너 중 하나
add(Component comp) | JPanel에 컴포넌트를 추가 |
setLayout(LayoutManager mgr) | JPanel 내부의 레이아웃 매니저를 설정 |
remove(Component comp) | JPanel에서 특정 컴포넌트를 제거 |
setBackground(Color bg) | JPanel의 배경색을 설정 |
setBorder(Border border) | JPanel에 테두리를 설정 |
setOpaque(boolean isOpaque) | JPanel의 불투명도를 설정 |
revalidate() | JPanel의 구성 요소들에 대한 레이아웃 재계산을 강제 |
repaint() | JPanel을 다시 그리도록 강제 |
Share article