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. Springboot 系列(一)Spring Boot 入门篇

    注意:本 Spring Boot 系列文章基于 Spring Boot 版本 v2.1.1.RELEASE 进行学习分析,版本不同可能会有细微差别. 前言 由于 J2EE 的开发变得笨重,繁多的配置, ...

  2. SmoOne——开源免费的企业移动OA应用,基于.Net

    一.SmoOne是什么一个开源的移动OA应用 二.语言C# 三.开发环境Visual Studio 四.开发平台Smobiler Designer 五.功能该应用开源代码中包含注册.登录.用户信息等基 ...

  3. [转]eShopOnContainers 看微服务 ①:总体概览

    本文转自:https://www.cnblogs.com/tianyamoon/p/10081177.html 一.简介 eShopOnContainers是一个简化版的基于.NET Core和Doc ...

  4. jsp基础语言-jsp表达式

    1.jsp表达式作用:将动态信息显示在页面中. 2.jsp表达式语法:<%=变量或表达式%> 变量:要在页面显示的值的变量名 表达式:其值由服务器计算,计算结果以字符串的形式发送到客户端 ...

  5. vue中使用Element主题自定义肤色

    一.搭建好项目的环境. 二.根据ElementUI官网的自定义主题(http://element.eleme.io/#/zh-CN/component/custom-theme)来安装[主题生成工具] ...

  6. finereport报表--动态格间运算 一

    一.运算符:   ! 绝对值 A2[A2:!1] ;   A2 标示从列A纵向第2单元格开始,!1 表示第1个位置的单元格; [A2:!1] 代表索引,表示从A列纵向开始往下,第1个单元格的位置的索引 ...

  7. alfs学习笔记-安装和使用blfs工具

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 一名linux爱好者,记录构建Beyond Linux From Scratch的过程 经博客园-骏马金龙前辈介绍,开始接触学习 ...

  8. vue px转换为rem

    前端开发中还原设计图的重要性毋庸置疑,目前来说应用最多的应该也还是使用rem.然而很多人依然还是处于刀耕火种的时代,要么自己去计算rem值,要么依靠编辑器安装插件转换. 而本文的目标就是通过一系列的配 ...

  9. Xamarin for Visual Studio下载后的文件路径

    Xamarin for Visual Studio的下载很纠结,在官网上不知道如何下载?现在找到一个办法:可以先在网上找一个低版本的之后安装,然后利用VS更新.利用VS更新这里也遇到了问题,下载成功之 ...

  10. Adaptive Placeholders

    https://wisdmlabs.com/blog/create-adaptive-placeholders-using-css/ https://circleci.com/blog/adaptiv ...