標籤:gui 布局管理器 類
/* 時間:2015年3月18日09:21:57 目的:測試嵌套布局的使用。 Panel 是最簡單的容器類。應用程式可以將其他組件放在面板提供的空間內,這些組件包括其他面板。
面板的預設布局管理器是 FlowLayout 布局管理器。 面板的構造方法有兩個: public Panel(LayoutManager layout)建立一個具有指定布局管理器的面板 public Panel();使用預設的布局管理器建立面板,所有面板的預設布局管理器都是FlowLayout類。 布局管理器總結: Frame是一個最上層視窗,Frame的預設布局管理器是BorderLayout Panel無法單獨顯示,必須添加到容器中 Panel的預設布局管理器為FlowLayout 當把Panel作為一個組件添加到某個容器中去,該Panel仍然可以有自己的布局管理器。 使用布局管理器時,布局管理器負責各個組件的大小和位置,因此使用者無法在這種情況下設定組件大小和位置屬性,
如果使用使用Java語言提供的 setLocation(), setSize(), setBounds()等方法,則都會布局管理器覆蓋。 如用使用者確實需要親自設定組件大小和位置,則應取消該容器的布局管理器,方法為:setLayout(null);
*/
import java.awt.*;
public class TestNestedLayout { public static void main(String[] args) { Frame f = new Frame("TestNEstedLayout"); f.setLocation(300, 400); f.setSize(500, 500); f.setBackground(new Color(204, 204, 255)); f.setLayout(new GridLayout(2, 1)); Panel p1 = new Panel(new BorderLayout()); Panel p2 = new Panel(new BorderLayout()); Panel p3 = new Panel(new GridLayout(2, 1)); Panel p4 = new Panel(new GridLayout(2, 2)); p1.add(new Button("Button"), BorderLayout.WEST); p3.add(new Button("Button")); p3.add(new Button("Button")); p1.add(p3, BorderLayout.CENTER); p1.add(new Button("Button"), BorderLayout.EAST); p2.add(new Button("Button"), BorderLayout.WEST); p4.add(new Button("Button")); p4.add(new Button("Button")); p4.add(new Button("Button")); p4.add(new Button("Button")); p2.add(p4, BorderLayout.CENTER); p2.add(new Button("Button"), BorderLayout.EAST); f.add(p1); f.add(p2); f.setVisible(true);
}}
JAVA語言GUI編程之布局管理器總結