AWT(Abstract Window TookIT)是java用于创建用户界面和绘制图形的所有类

AWT组件和容器

AWT包含了很多类和接口,用于java Application的GUI(图形用户界面)编程。GUI的各种元素,窗口、按钮、文本框、等由java的类来表示,使用AWT所涉及的类一般都在java.awt的包及其子包中,Container和Component是AWT两个核心类

编写界面致命的缺点是:图形和操作系统有关,awt开发的界面在不同的操作系统上呈现的界面是不同的,所以后期开发使用swing比较多,但即使如此swing离不开AWT

两种常用的Container

1Windwo:其对象表示自由停泊的顶级窗口

2.Panel其对象可以容纳其他Component对象,但不能独立存在,必须加到其他Container中

Frame是Window子类,由Frame或其子类创建的对象为一个窗体

创建一个窗口;

package text4;
import java.awt.color.*;
import java.awt.Color;
import java.awt.Frame; public class Hello{
public static void main(String[] args) {
//创建一个Frame对象
Frame f=new Frame();
//设置Frame的大小
f.setSize(300, 200);
//设置位置
f.setLocation(20,30);
//设置背景色
f.setBackground(Color.YELLOW);
//设置可见
f.setVisible(true); } }

在java窗口编程一般在Panel中添加组件,再将Panel组件添加到Frame中,Panel对象可以看成是容纳Component的空间,可以拥有自己的布局

在窗口中增加面板;

package text4;
import java.awt.color.*;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
public class Hello{
public static void main(String[] args) {
//创建一个Frame对象
Frame f=new Frame();
//设置Frame的大小
f.setSize(300, 200);
//设置位置
f.setLocation(20,30);
//设置背景色
f.setBackground(Color.RED);
//创建一个Panel
Panel panel1=new Panel(null);
//创建panel的大小
panel1.setSize(100,100);
//设置背景色
// panel1.setBackground(Color.BLUE);
//设置位置
panel1.setLocation(100,50);
//将panel放到Frame中
f.add(panel1);
//设置可见
f.setVisible(true);
} }

布局管理器

是开发过程中,每设计一个窗体,都要向其中添加若干组件。随着组件的增多,排列起来就会杂乱无章,这时候就需要布局管理器,

BorderLayout

BoxLayout

FlowLayout

GirdBagLayout

GirdLayout

CardLayout

1.FlowLayout布局

流失布局管理器可以让组件从左往右依次排列,排满一行就换一行,行高是由控制组件高度决定的。FlowLayout是所有的Panel类型容器默认布局,默认情况下是居中对齐,(FlowLayout.ENTER)

使用流式布局(对齐)

package text4;

import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame; public class Hello {
public static void main(String[] args) {
// 居中
layout("居中", FlowLayout.CENTER);
// 开始边对齐
layout("开始边对齐", FlowLayout.LEADING);
// 向左
layout("向左", FlowLayout.LEFT);
// 向右
layout("向右", FlowLayout.RIGHT);
// 结束边对齐
layout("结束边对齐", FlowLayout.TRAILING);
} private static void layout(String title, int type) {
// 创建一个title,标题为title
Frame frame = new Frame(title);
// 设置布局方式为FlowLayout
frame.setLayout(new FlowLayout(type));
// 设置窗口大小
frame.setSize(400, 300);
// 设置窗口位置
frame.setLocation(20, 30);
// 创建多个按钮
Button btn1 = new Button("1");
Button btn2 = new Button("2");
Button btn3 = new Button("3");
Button btn4 = new Button("4");
// 添加按钮
frame.add(btn1);
frame.add(btn2);
frame.add(btn3);
frame.add(btn4);
// 设置窗口可见
frame.setVisible(true);
}
}

2.BorderLayout布局(东西南北中)

package text5;

import java.awt.BorderLayout;
import java.awt.Button;
import java.awt.Frame; public class Hello {
public static void main(String[] args) {
// 创建一个Frame,标题是BorderLayout布局
Frame f = new Frame("BorderLayout 布局");
// 设置Frame的大小
f.setSize(400, 300);
// 设置布局管理器
f.setLayout(new BorderLayout());
// 创建5个按钮
Button[] b = new Button[5];
b[0] = new Button("东");
b[1] = new Button("西");
b[2] = new Button("南");
b[3] = new Button("北");
b[4] = new Button("中");
f.add(b[0], BorderLayout.EAST);
f.add(b[1], BorderLayout.WEST);
f.add(b[2], BorderLayout.SOUTH);
f.add(b[3], BorderLayout.NORTH);
f.add(b[4], BorderLayout.CENTER);
//
f.setVisible(true); }
}

3.GridLayout布局,将控件按网络排列,基本布局策略是把容器的空间划分成若干行和若干列的区域(行列)

package text5;

import java.awt.GridLayout;
import java.awt.Frame;
import java.awt.Button; public class Hello2 {
public static void main(String[] args) {
// 创建一个Frame,标题是GridLayout
Frame f = new Frame("GridLayout 布局");
// 设置Frame的大小
f.setSize(400, 300);
// 设置布局管理器
f.setLayout(new GridLayout(2, 3));// 两行三列
// 添加按钮
for (int i = 0; i < 6; i++) {
Button btn = new Button(String.valueOf(i));// 将int转换成字符串
f.add(btn);
}
f.setVisible(true);
}
}

4.卡片式布局CardLayout(有点小复杂)

AWT的应用的更多相关文章

  1. AWT编程学习01(未完成)

    本文资料来源:<java疯狂讲义> 作者:李刚 终于要学习这一部分了~~虽然很多人(明明是绝大多数的人)说学这个没有用...而且有点过时了...但我觉得很有意思啊...感兴趣就学~~反正多 ...

  2. AWT事件处理

    AWT事件处理基本概念 AWT事件处理过程中,主要涉及3类对象: ①   Event(事件):用户对组件的一个操作,称之为一个事件,以类的形式出现,例如,键盘操作对应的事件类是KeyEvent.其实例 ...

  3. AWT布局管理器

    布局管理器 容器内可以存放各种组件,而组件的位置和大小是由容器内的布局管理器来决定的.在AWT中为我们提供了以下5种布局管理器: ①   FlowLayout 流式布局管理器 ②   BorderLa ...

  4. Java基础---AWT

    流式布局FlowLayout package net.zyz; import java.awt.Button; import java.awt.FlowLayout; import java.awt. ...

  5. 用户图形界面(GUI)学习笔记(一)——Swing与AWT

    一.Swing与AWT 对象窗口工具箱(Abstact Window Toolkit,AWT),是JAVA1.0刚出现的时候,包含的一个GUI设计类库.它将处理用户界面元素的任务委派给每个目标平台(W ...

  6. Atitit.java图片图像处理attilax总结  BufferedImage extends java.awt.Image获取图像像素点image.getRGB(i, lineIndex); 图片剪辑/AtiPlatf_cms/src/com/attilax/img/imgx.javacutImage图片处理titit 判断判断一张图片是否包含另一张小图片 atitit 图片去噪算法的原理与

    Atitit.java图片图像处理attilax总结 BufferedImage extends java.awt.Image 获取图像像素点 image.getRGB(i, lineIndex); ...

  7. tomcat 启动参数 Xms, Xmx, XX:MaxNewSize, XX:PermSize, -XX:MaxPermSize, Djava.awt.headless

    在 tomcat/bin/catalina.sh 的 第一行#!/bin/sh 下添加 JAVA_OPTS="-server -Xms512m -Xmx1024m -XX:MaxNewSiz ...

  8. java.awt.Robot

    import java.awt.AWTException; import java.awt.Robot; import java.awt.event.KeyEvent; public class Te ...

  9. java:提示Could not initialize class sun.awt.X11GraphicsEnvironment

    前几天发现tomcat提示 Could not initialize class sun.awt.X11GraphicsEnvironment  问题.以为不验证,就没太关注,今天发现,有同事提示了个 ...

  10. paip.提升效率--gui 的选择--swing最佳实践swt awt

    paip.提升效率--gui 的选择--swing最佳实践swt awt ////////////////弹出消息框. ////////////////myeclipse swing 开发最佳实践.. ...

随机推荐

  1. 【原创】PicUploader: 一个还不错的图床工具

    PicUploader PicUploader 是一个用php编写的图床工具,它能帮助你快速上传你的图片到云图床,并自动返回Markdown格式链接到剪贴板.配置完成后,要获取一个可用于markdow ...

  2. Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换

    本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1    浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...

  3. golang判断文件是否存在

    判断一个文件是否存在是一个相当常见的需求,在golang中也有多种方案实现这一功能. 现在我们介绍其中两种最常用也是最简单的实现,第一种将是跨平台通用的,而第二种则在POSIX平台上通用. 跨平台实现 ...

  4. 零基础学Python--------第7章 面向对象程序设计

    第7章 面向对象程序设计 7.1 面向对象概述 面向对象(Object Oriented)的英文缩写是OO,它是一种设计思想.从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编 ...

  5. iview-admin框架运行步骤

    第一步: 前往github下载整个iview-admin框架的全部源码 github地址: https://github.com/iview/iview-admin 第二步: 点击Clone or d ...

  6. testlib.h从入门到入坟

    学了这么久OI连个spj都不会写真是惭愧啊... 趁着没退役赶紧学一波吧 配置 github下载地址 我是直接暴力复制粘贴的.. 然后扔到MingW的目录里 直接引用就好啦 基本语法 引用testli ...

  7. onScrollChanged()

    转载请标明出处:http://www.cnblogs.com/tangZH/p/8428100.html  onScrollChanged里面有四个参数 @Overrideprotected void ...

  8. 从Linux上传到Git过程

    1.1 实验内容 本次课程讲的是在实验楼的在线环境中,如何使用 Github 去管理在在线环境中使用的代码.配置.资源等实验相关文件,怎样去添加.同步和下拉在远程仓库中的实验文件,以此来维持自身的实验 ...

  9. Git:五、操作远程仓库

    0.一般流程 1)自己新写:GitHub创建有README的库 -> clone到本地 2)修改已有:GitHub上fork别人的仓库 -> clone自己账号下的库到本地 1.创建库 右 ...

  10. ORACLE中关于表的一些特殊查询语句

    1: 如何判断字段的值里面:那些数据包含小写字母或大小字母 判断字段NAME的值里面有小写字母的记录 方式1: SELECT NAME FROM TEST WHERE regexp_like(NAME ...