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. Java 用jxl读取excel并保存到数据库(此方法存在局限,仅限本地电脑操作,放在服务器上的项目,需要把文件上传到服务器,详细信息,见我的别的博客)

    项目中涉及到读取excel中的数据,保存到数据库中,用jxl做起来比较简单. 基本的思路: 把excel放到固定盘里,然后前段页面选择文件,把文件的名字传到后台,再利用jxl进行数据读取,把读取到的数 ...

  2. Centos快速安装Docke

    预备 删除旧docker # 删除旧docker $ sudo yum remove docker \ docker-client \ docker-client-latest \ docker-co ...

  3. MYSQL渗透测试

    部分来源于:先知社区 MYSQL-getshell篇 通过日志getshell 查看日志的物理路径(绝对路径) show variables like '%general%'; 打开日志记录内容 se ...

  4. bWAPP----HTML Injection - Stored (Blog)

    HTML Injection - Stored (Blog) 界面 1 <div id="main"> 2 3 <h1>HTML Injection - S ...

  5. java的常用定时任务的几种方式

    Java基本的定时任务,一般有这几种方式:一.Timer 1 public class Timer{ 2 static int index=0; 3 public static void main(S ...

  6. 万字长文带你掌握Java数组与排序,代码实现原理都帮你搞明白!

    查找元素索引位置 基本查找 根据数组元素找出该元素第一次在数组中出现的索引 public class TestArray1 { public static void main(String[] arg ...

  7. Java8用了这么久了,Stream 流用法及语法你都知道吗?

    1.简介 Stream流 最全的用法Stream 能用来干什么?用来处理集合,通过 使用Stream API 对集合数据进行操作,就类似于使用 SQL 执行的数据库查询,Stream API 提供了一 ...

  8. Java基础教程——多态

    直观地说,多态就是"一个对象,多种形态 ".比如观世音菩萨就有多种形态-- 每个人都有多种形态-- 具体地讲,多态是指"同一个对象.同一个方法(函数),表现出不同的行为& ...

  9. 语法解析器续:case..when..语法解析计算

    之前写过一篇博客,是关于如何解析类似sql之类的解析器实现参考:https://www.cnblogs.com/yougewe/p/13774289.html 之前的解析器,更多的是是做语言的翻译转换 ...

  10. Java集合【2】--iterator接口详解

    目录 一.iterator接口介绍 二.为什么需要iterator接口 三.iterator接口相关接口 3.1 ListIterator 3.2 SpitIterator 3.2.1 SpitIte ...