컴퓨터프로그래밍/JAVA

Java - 31.BorderLayout

zelkova 2011. 7. 29. 11:29


BorderLayout은 컨테이너를 동, 서, 남, 북, 중앙 등의 세부영역으로 구분하여 해당 영역에 컴포넌트를 위치시키는 배치 방법이다. BorderLayout으로 지정된 컴테이너에 GUI 컴포넌트를 배치하고자 할 때 add(Component,String)메서드를 사용하는데 이때 두번째 매개인자는 동, 서, 남, 북, 중앙 등을 위한 상수값을 사용해야 한다.

BorderLayout의 위치 상수
동 : BorderLayout.EAST
서: BorderLayout.WEST
남 : BorderLayout.SOUTH
북 : BorderLayout.NORTH
중앙 : BorderLayout.Center

예제)
import java.awt.*;
import java.awt.event.*;

public class BorderExam extends Frame implements ActionListener, WindowListener{
 Label btnEast, btnWest, btnSouth, btnNorth,lblcenter;
 
 
 public BorderExam(){
  this.setupFrame();
  this.createComponents();
  this.conectEventListener();
 }
 
 public void setupFrame() {
  this.setTitle("BorderExam");
  this.setSize(400, 300);
  this.setVisible(true);
 }
 
 public void createComponents(){
  this.btnEast = new Label("동쪽");
  this.btnWest = new Label("서쪽");
  this.btnSouth = new Label("남쪽");
  this.btnNorth = new Label("북쪽");
  this.lblcenter = new Label("                   중앙");
  
  this.setLayout(new BorderLayout());
  this.add(this.btnEast, BorderLayout.EAST);
  this.add(this.btnWest, BorderLayout.WEST);
  this.add(this.btnSouth, BorderLayout.SOUTH);
  this.add(this.btnNorth, BorderLayout.NORTH);
  this.add(this.lblcenter, BorderLayout.CENTER);
 }
 
 public void conectEventListener(){
 
  this.addWindowListener(this);
 }
 

 public void windowOpened(WindowEvent we) {
  System.out.println("Frame이 열림");
 }
 
 public void windowClosing(WindowEvent we) {
  System.out.println("Frame이 닫힘");
  this.dispose();
 }
 
 public void windowClosed(WindowEvent we) {
  System.out.println("Frame이 닫힘");
 }
 
 public void windowActivated(WindowEvent we) {
  System.out.println("Frame이 활성화 ");
 }
 
 public void windowDeactivated(WindowEvent we) {
  System.out.println("Frame이 비활성화 ");
 }
 
 public void windowIconified(WindowEvent we) {
  System.out.println("Frame이 아이콘화 ");
 }
 
 public void windowDeiconified(WindowEvent we) {
  System.out.println("Frame이 비아이콘화 ");
 } 
 
 public static void main(String[] args) {
  new BorderExam();
 }

 @Override
 public void actionPerformed(ActionEvent e) {
  // TODO Auto-generated method stub
  
 }
}

반응형