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. 画echart图时,安卓手机正常,苹果手机上tooltip 在坐标轴下一层

    问题: 解决: 在tooltip 中添加如下代码: tooltip:{ position:function(point, params , dom, rect, size){ dom.style.tr ...

  2. 金九银十已到!掌握这300道java高频面试题,助你面试BAT无忧!

    前言 不知不觉已经到了九月了,回首看年初的时候简直像做梦一样.不得不说时间真的是无情一般的流逝,题外话就不多说了!回归正题,现在已经到了今年最后一波大好的跳槽涨薪的时机了,错过了这一次可能你就得等到明 ...

  3. 02_启动和销毁Service

    在Application关闭后,Service仍然会运行. package com.example.servdemo; import android.app.Activity; import andr ...

  4. Django----setting.py配置

    过滤器 1,安装 django-filter 2,注册应用 3,配置settings, 在view里配置可过滤的字段 4,使用 查询字符串携带过滤信息 REST_FRAMEWORK = { # 文档报 ...

  5. 自动化运维工具之Puppet变量、正则表达式、流程控制、类和模板

    前文我们了解了puppet的file.exec.cron.notify这四种核心资源类型的使用以及资源见定义通知/订阅关系,回顾请参考https://www.cnblogs.com/qiuhom-18 ...

  6. SQL优化之SQL 进阶技巧(下)

    上文( SQL优化之SQL 进阶技巧(上) )我们简述了 SQL 的一些进阶技巧,一些朋友觉得不过瘾,我们继续来下篇,再送你 10 个技巧 一. 使用延迟查询优化 limit [offset], [r ...

  7. JJWT 使用示例

    一.添加依赖包 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt-api ...

  8. windows服务器下tomcat 8.0 配置远程调试

    在tomcat的bin目录下, 添加debug.txt文件, 然后输入: set JPDA_ADDRESS=9901set JPDA_TRANSPORT=dt_socketset CATALINA_O ...

  9. go结构体与方法

    go结构体相当于python中类的概念 结构体用来定义复杂的数据结构,存储很多相同的字段属性 1.结构体的定义以及简单实用 package main import ( "fmt" ...

  10. 解决:com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server

    com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known serve ...