仓库:Java图形化界面: Java图形化界面学习demo与资料 (gitee.com)

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(): | 返回该容器内的所有组件 。 |

- import java.awt.*;
-
- public class FrameDemo {
-
- public static void main(String[] args) {
- //1.创建窗口对象
- Frame frame = new Frame("这是第一个窗口容器");
-
- //设置窗口的位置和大小
-
- frame.setBounds(100,100,500,300);
-
- //设置窗口可见
- frame.setVisible(true);
- }
- }
- public class PanelDemo {
- public static void main(String[] args) {
- //1.创建Frame容器对象
- Frame frame = new Frame("这里在测试Panel");
- //2.创建Panel容器对象
- Panel panel = new Panel();
-
- //3.往Panel容器中添加组件
- panel.add(new TextField("这是一个测试文本"));
- panel.add(new Button("这是一个测试按钮"));
-
- //4.把Panel添加到Frame中
- frame.add(panel);
-
- //5.设置Frame的位置和大小
- frame.setBounds(30,30,500,300);
-
- //6.设置Frame可见
- frame.setVisible(true);
- }
- }
由于IDEA默认使用utf-8进行编码,但是当前我们执行代码是是在windows系统上,而windows操作系统的默认编码是gbk,所以会乱码,如果出现了乱码,那么只需要在运行当前代码前,设置一个jvm参数 -Dfile.encoding=gbk即可。

- import java.awt.*;
-
- public class ScrollPaneDemo {
-
- public static void main(String[] args) {
- //1.创建Frame窗口对象
- Frame frame = new Frame("这里测试ScrollPane");
-
- //2.创建ScrollPane对象,并且指定默认有滚动条
- ScrollPane scrollPane = new ScrollPane(ScrollPane.SCROLLBARS_ALWAYS);
-
- //3.往ScrollPane中添加组件
- scrollPane.add(new TextField("这是测试文本"));
- scrollPane.add(new Button("这是测试按钮"));
-
- //4.把ScrollPane添加到Frame中
- frame.add(scrollPane);
-
- //5.设置Frame的位置及大小
- frame.setBounds(30,30,500,300);
-
- //6.设置Frame可见
- frame.setVisible(true);
-
- }
- }
程序明明向 ScrollPane 容器中添加了 一个文本框和一个按钮,但只能看到 一个按钮,却看不到文本框 ,这是为什么 呢?这是因为ScrollPane 使用 BorderLayout 布局管理器的缘故,而 BorderLayout 导致了该容器中只有一个组件被显示出来 。 下一节将向详细介绍布局管理器的知识 。