AWT學習筆記一Frame和Panel
阿新 • • 發佈:2018-12-26
一、AWT
1、在java.awt包中提供了兩種基類表示圖形介面元素:Component和MenuComponent,其中Component代表一個以圖形化方式顯示出來,並可與使用者互動的物件;而MenuComponent則代表圖形介面選單元件,包括MenuBar(選單條),MenuItem(選單項)等。
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);