6 장 객체 - 지향 설계 ③
목차 GUI 레이아웃 전화기 키 패드
전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자. 주석을 참고하여 TelephonePanel.java 를 완성해 보자. 이때, TelephonePanel 즉, 현재의 Panel 은 BorderLayout 으로 만 든다. 제목 레이블은 북쪽에 붙이고, 키 패드를 위한 패널은 중앙에 붙 인다. 키 패드를 위한 패널은 4X3 GirdLayout 으로 만들어 123,456,789,*0# 의 12 개의 버튼을 각각 붙인다. 완성된 파일을 컴파일하여 테스트해 보자. 제목 레이블이 중앙으로 오도록 수정해 보자. 제목 레이블을 TelephonePanel 의 북쪽에 바로 붙이지 말고, 먼 저 제목을 위한 Panel 을 붙이고 그 패널에 제목 레이블을 붙인다. 수정한 파일을 컴파일하여 테스트해 보자.
전화기 키 패드 (Telephone.java) //****************************************************** // Telephone.java // // 제목을 가지는 전화 키패드 모양의 GUI 를 생성하기 위해서 // TelephonePanel 클래스를 사용한다. // 영역레이아웃과 격자레이아웃을 사용한다. //****************************************************** import javax.swing.*; public class Telephone { public static void main(String[] args) { JFrame frame = new JFrame("Telephone"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().add(new TelephonePanel()); frame.pack(); frame.setVisible(true); } }
전화기 키 패드 (TelephonePanel.java) //****************************************************** // TelephonePanel.java // // 제목을 가지는 전화 키패드 모양의 GUI 를 만든다. // 영역레이아웃과 격자레이아웃을 사용하여 만든다. //****************************************************** import java.awt.*; import javax.swing.*; public class TelephonePanel extends JPanel { public TelephonePanel() { // 이 패널을 위한 영역 레이아웃을 설정한다. // "Your Telephone" 이라는 제목을 가지는 JLabel 을 생성한다. // 이 패널의 북쪽에 제목 레이블을 붙인다. // 키패드를 만들기 위한 패널을 생성하고, // 그것을 4 x 3 격자 레이아웃으로 설정한다. // 키패드 패널에 키를 표현한 버튼들을 붙인다. // 이 패널의 중앙에 키패드 패널을 붙인다. } }