- [Java] 50. 스윙 컴포넌트로 버튼 만들기2024년 04월 25일
- Song hyun
- 작성자
- 2024.04.25.:12
728x90반응형[Java] 50. 스윙 컴포넌트로 버튼 만들기
1. 모니터에 창 띄우기
2. 화면의 사방에 버튼 띄우기
1. 모니터에 창 띄우기
(1) 배치 관리자(Layout Manager): 컨테이너 안의 각 컴포넌트의 위치와 크기를 정해주는 작업.
-setTitle(String): 타이틀 바의 제목을 출력한다.
-setSize(int,int): 프레임의 크기를 결정한다.(가로,세로)
-setVisible: 프레임을 화면에 나타나게 한다.(=디폴트는 숨겨진 상태이다.)
-setDefaultCloseOperation: 윈도우창 종료시 프로세스 창도 함께 닫게 한다/
-awt (Abstract Window Toolkit) : 윈도우 GUI 프로그래밍을 돕는 도구.
-FlowLayout: 해당 문화권(오->왼/왼->오)의 방식으로 배치한다.
-JButton 컴포넌트: 이름이 있는 버튼을 삽입시키는 컴포넌트.
package ch01; import java.awt.FlowLayout; import javax.swing.JButton; import javax.swing.JFrame; // Swing-> 배치 관리자: FlowLayout // 컴포넌트들을 (버튼, 라벨) 수평, 수직으로 배치해주는 클래스이다. public class FlowLayoutEx extends JFrame { private JButton button1; // 참조 타입 private JButton button2; private JButton button3; // 참조 타입 private JButton button4; private JButton button5; // 참조 타입 private JButton button6; // 생성자 public FlowLayoutEx() { super.setTitle("FlowLayout 연습"); super.setSize(500, 500); super.setVisible(true); super.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 생성자에서 메서드 호출이 가능하다. initData(); setInitLayout(); } // 멤버 변수를 초기화하는 기능 (값 넣기) public void initData() { button1 = new JButton("버튼 1"); button2 = new JButton("버튼 2"); button3 = new JButton("버튼 3"); button4 = new JButton("버튼 4"); button5 = new JButton("버튼 5"); button6 = new JButton("버튼 6"); } // 컴포넌트들을 배치하는 기능 public void setInitLayout() { // 배치 관리자 --> BorderLayout 이라는 배치관리자가 기본으로 활용된다. FlowLayout flowLayout = new FlowLayout(FlowLayout.LEADING,50,50); super.setLayout(flowLayout); // 컴포넌트들을 붙이다. super.add(button1); super.add(button2); super.add(button3); super.add(button4); super.add(button5); super.add(button6); } // 코드 테스트 public static void main(String[] args) { // FlowLayoutEX f1 = new FlowLayoutEx(); <-- 부를 수 있는 이름이 있는 클래스 new FlowLayoutEx(); // <--익명 클래스(변수명 x) // 다시 접근해서 사용할 일이 없으면 new라고 선언만 해도 Okay } }
2. 화면의 사방에 버튼 띄우기
-BorderLayout.방향: JFrame의 기본 레이아웃으로, 입력한 방향에 해당 컴포넌트를 출력시킨다. (상/하/좌/우/중앙)
package ch01; import java.awt.BorderLayout; import javax.swing.JButton; import javax.swing.JFrame; public class BorderLayoutEx1 extends JFrame { public BorderLayoutEx1() { initData(); setInitLayout(); } public void initData() { setTitle("borderLayout 연습"); setSize(600,600); setVisible(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void setInitLayout() { // 배치 관리자 선정(컨테이너) // borderLayout은 컴포넌트들을 동서남북가운데로 정렬/배치시켜주는 레이아웃이다. setLayout(new BorderLayout()); add(new JButton("동"), BorderLayout.EAST); // EAST=상수 add(new JButton("서"), BorderLayout.WEST); add(new JButton("남"), BorderLayout.SOUTH); add(new JButton("북"), BorderLayout.NORTH); add(new JButton("중앙"), BorderLayout.CENTER); } public static void main(String[] args) { new BorderLayoutEx1(); } // end of main } // end of class
728x90반응형'Java > 자바 Swing' 카테고리의 다른 글
[Java] 59. 사용자 정의 예외 클래스 (0) 2024.04.29 [Java] 56. Swing 응용 예제: 집 그리기 (0) 2024.04.26 [Java] 55. Swing: 패널과 컨테이너 (0) 2024.04.26 [Java] 51. 스윙 컴포넌트, 반복문 활용: 동서남북에 버튼 만들기 (0) 2024.04.25 [Java] 49. 자바 GUI와 Swing 컴포넌트 (0) 2024.04.25 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)