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 }

随机推荐

  1. 原生javascript包装一个ajax方法

    调用AJAX 1 <script type="text/javascript" src="ajax.js"></script> 2 &l ...

  2. php接收base64数据生成图片并保存

    public function base64(){ //接收base64数据 $image= $_POST['imegse']; //设置图片名称 $imageName = "25220_& ...

  3. Oracle数据泵的导入和导出

    前言 今天王子要分享的内容是关于Oracle的一个实战内容,Oracle的数据泵. 网上有很多关于此的内容,但很多都是复制粘贴别人的,导致很多小伙伴想要使用的时候不能直接上手,所以这篇文章一定能让你更 ...

  4. 如何用pdfFactory新建打印机并设置属性

    今天我们来讲一讲,在pdfFactory中如何去修改PDF文件打印页面的页边距.页面大小.页面清晰度等属性参数. pdfFactory是一款Windows平台上的虚拟打印机,在没有打印机可以安装的情况 ...

  5. open()和with open() as的区别

    2020-03-18  20:37:55 open()和with open() as的区别 1 file = open("test.txt","r") 2 fo ...

  6. Codeforces Round #665 (Div. 2) D. Maximum Distributed Tree 题解(贪心+易错)

    题目链接 题目大意 给你一课树,要你给每一条边分权值,每条边的权值大于0,他们的乘积等于k,而且要使得n-1条边1的数量尽可能少,定义 f(u,v)为u到v的边权和求 \(\max \sum_{i=1 ...

  7. 3.深入Istio:Pilot配置规则ConfigController

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com 本文使用的Istio源码是 release 1.5. Config Controller ...

  8. Razorpay支付对接,JAVA对接篇

    Razorpay 作为印度本土的一家支付公司,类似中国的支付宝 微信,本篇记录一下对接印度第三方支付公司 准备工作: 注册公司 申请Razorpay账号 申请正式环境 Razorpay工作台: 获取k ...

  9. chrome浏览器查看当前页面cookie

    方法一:点进去设置--高级--网站设置--权限cookie--查找所有cookie和网站数据,就可以看到所有的cookie信息了,举例: 方法二:键盘F12,找到network--点击Doc(如果没有 ...

  10. 20200315_python3.6去除标点符号

    line = "python3.6下进行去!@#$%^&*()除标点测试,:!大家好,:!&>啥都不是!@#¥%--&*(-.||" # python ...