1. 程式人生 > >AWT學習筆記一Frame和Panel

AWT學習筆記一Frame和Panel

一、AWT
1、在java.awt包中提供了兩種基類表示圖形介面元素:Component和MenuComponent,其中Component代表一個以圖形化方式顯示出來,並可與使用者互動的物件;而MenuComponent則代表圖形介面選單元件,包括MenuBar(選單條),MenuItem(選單項)等。

AWT圖形元件之間的繼承關係
2、AWT圖形使用者介面還有兩個重要概念:Container和LayoutManager,其中Container是一個特殊的Component,它代表一種容器,可以盛裝普通的Component;而LayoutManager則是容器管理其他元件佈局的方式。
這裡寫圖片描述
AWT提供了兩種主要容器型別

  • Window:可以獨立存在的視窗。
  • Panel:可作為容器容納其他元件,但不能獨立存在,必須新增到其他容器中。
    Frame代表常見的視窗,它是Window類的子類,
  • Frame 物件有標題,允許通過拖拉來改變視窗的位置,大小。
  • 初始化時不可見 ,可用setVisible(true)使其顯示出來。
  • 預設使用 BorderLayout作為其佈局管理器。

    3、示例程式碼

Frame myFrame = new Frame();
myFrame.setTitle("我的視窗");
myFrame.setBackground(Color.gray);
myFrame.setBounds
(30, 30, 250, 200); myFrame.setVisible(true);

執行結果如下:
這裡寫圖片描述
4、Panel預設使用FlowLayout作為佈局管理器

Frame frame = new Frame("帶有Panel的視窗");
Panel panel = new Panel();
panel.add(new Label("UserName:"));
panel.add(new TextField(20));
frame.add(panel);
frame.setBounds(30, 30, 350, 250);
frame.setVisible(true);

這裡寫圖片描述
5、ScrollPanel是一個帶滾動條的容器,也不能 獨立存在。但元件佔用空間過大時,ScrollPanel自動產生滾動條,也可以通過指定特定的構造器引數來指定預設具有滾動條。預設使用BorderLayout作為佈局管理器。不允許改變ScrollPanel的佈局管理器。

Frame frame = new Frame();
frame.setTitle("帶有滾動條的panel");
ScrollPane scrollPane = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
scrollPane.add(new TextArea());
frame.add(scrollPane);

frame.setBounds(30, 30, 350, 250);
frame.setVisible(true);

這裡寫圖片描述