다른 컨테이너에 배치하여 동작되는 종속적인 컨테이너 클래스다.
Panel의 기본 배치 관리자는 FlowLayout으로 설정되어 사용한다.
package xyz.itwill.awt;
import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Color;
import java.awt.Font;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.TextField;
public class PanelApp extends Frame{
private static final long serialVersionUID = 1L;
public PanelApp(String title) {
super(title);
Button red = new Button("빨간색");
Button green = new Button("초록색");
Button blue = new Button("파란색");
Panel panel = new Panel();
//패널에 컴퍼넌트 배치
panel.add(red);
panel.add(green);
panel.add(blue);
TextArea textarea = new TextArea();
TextField textfield = new TextField();
//프레임에 컴퍼넌트(컨테이너)를 배치
add(panel, BorderLayout.NORTH);
add(textarea, BorderLayout.CENTER);
add(textfield, BorderLayout.SOUTH);
panel.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 16));
textarea.setFont(new Font(Font.SERIF, Font.PLAIN, 16));
textfield.setFont(new Font(Font.SERIF, Font.BOLD+Font.ITALIC, 16));
red.setForeground(new Color(255, 0, 0));
green.setForeground(new Color(0, 255, 0));
blue.setForeground(new Color(0, 0, 255));
panel.setBackground(Color.GRAY);
//red 버튼 비활성
red.setEnabled(false);
//textarea 입력기능 비활성
textarea.setEditable(false);
//textarea 입력 촛점 비활성
textarea.setFocusable(false);
setBounds(600, 100, 300, 400);
setVisible(true);
}
public static void main(String[] args) {
new PanelApp("Panel");
}
}
패널에 빨간색 버튼, 초록색 버튼, 파란색 버튼 총 3개 추가.
빨간색 버튼 비활성화
textarea 입력기능 비활성화, 입력 촛점 비활성화