AWT02-ContainerAPI
1.体系
Object
-Component
-Container
Window:窗口容器
Frame:创建窗口
Dialog:创建对话框
Panel:内嵌容器
Applet
ScrollPane:含有滚动条的容器
Window是可以独立存在的顶级窗口,默认使用BorderLayout管理其内部组件布局。
Panel可以容纳其他组件,但是不能独立存在,它必须内嵌其他容器中使用,默认使用FlowLayout管理其内部组件布局。
ScrollPane是一个带滚动条的容器,它也不能独立存在,默认使用BorderLayout管理其内部组件布局。
2.常用API
Component作为基类,提供了如下方法设置组件的位置,大小,可见性。
| 方法名 | 说明 |
| setLocation(int x,int y) | 设置组件的位置 |
| setSize(int width,int height) | 设置组件的大小 |
| setBounds(int x,int y,int width,int height) | 设置组件的位置和大小 |
| setVisible(boolean b) | 设置组件的可见性 |
Container作为容器根类,提供了如下方法:
| 方法名 | 说明 |
| Component add(Component comp) | 向容器中添加其他组件,这个组件可以是普通组件也可以是其他容器。最后,返回被添加的组件。 |
| Component getComponentAt(int x,int y) | 返回指定位置的组件。 |
| int getComponentCount() | 返回该容器内组件的数量。 |
| Component[] getComponents() | 返回该容器内所有的组件。 |
3.Window演示
步骤:
1.创建一个窗口对象。
2.指定窗口位置和大小。
3.设置窗口对象可见性。
1 import java.awt.*; 2 3 public class WindowDemo { 4 public static void main(String[] args) { 5 Frame MainWindow = new Frame("这是我的第一个AWT窗口"); 6 MainWindow.setLocation(500,250); 7 MainWindow.setSize(500,300); 8 MainWindow.setVisible(true); 9 } 10 }
4.Panel演示
1.创建一个Window对象,因为panel和ScrollPane都不能独立存在,必须依附于其他容器。
2.创建一个panel对象
3.添加一个文本框和一个按钮组件,放入panel
4.将panel放入window
5.设置Window位置、大小、可见性
1 import java.awt.*; 2 3 public class PanelDemo { 4 public static void main(String[] args) { 5 Frame f = new Frame("这是Panel演示"); 6 Panel p = new Panel(); 7 p.add(new TextField("please input...")); 8 p.add(new Button("Submit")); 9 f.add(p); 10 f.setLocation(500,250); 11 f.setSize(500,300); 12 f.setVisible(true); 13 } 14 }
5.ScrollPane演示
1.创建一个Window对象,因为panel和ScrollPane都不能独立存在,必须依附于其他容器。
2.创建一个Scrollpane对象
3.添加一个文本框和一个按钮组件,放入panel
4.将panel放入window
5.设置Window位置、大小、可见性
1 import java.awt.*; 2 3 public class ScrollPaneDemo { 4 public static void main(String[] args) { 5 Frame f = new Frame("ScrollPane演示"); 6 ScrollPane s = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS); 7 s.add(new TextField("please input...")); 8 s.add(new Button("提交")); 9 f.add(s); 10 f.setLocation(500,250); 11 f.setSize(500,300); 12 f.setVisible(true); 13 } 14 }

浙公网安备 33010602011771号