一、定义

GUI全称是Graphical User Interface,即图形用户界面。JDK中提供了AWT 和 Swing 两个包,用于GUI程序的设计和开发。

1.java .awt  abstract Window Toolkit (抽象窗口工具包),它是 java 的早期版本,组件种类有限,需要调用本地系统方法实现功能,重量级,有点依赖于平台。

2.javax.SWing ,是sun公司在AWT 的基础上,建立的一套图形用户界面系统,提供了更多的组件,而且完全由java实现,增强了可移植性,轻量级。

SWing相当于AWT的升级版本,解决了跨平台操作的问题,但是,并不代表AWT就被彻底淘汰了,它是基础,了解它的性能还是很重要的。

二、AWT类层次关系

Container:为容器,是一个特殊的组件,该组件中可以通过add方法添加其他的组件进来。

简单的代码示例:

import java.awt.Frame;

public class Test19 {
public static void main(String[] args) {
demo();
} static void demo() {
Frame f = new Frame("这是我做的第一个窗口");
f.setSize(400, 400);
f.setLocation(40, 60);// 左上角的坐标 System.out.println("運行成功");// 验证程序是否被执行了
}
}

如果做到上面的代码,从控制台的结果来看,程序没有挂掉,已经被执行了。只是想要的对话框并没有出现。

上面程序少一段代码:f.setVisible(true);

import java.awt.Frame;

public class Test19 {
public static void main(String[] args) {
demo();
} static void demo() {
Frame f = new Frame("这是我做的第一个窗口");
f.setSize(400, 400);
f.setLocation(40, 60);// 左上角的坐标 f.setVisible(true);//使得窗口可见 System.out.println("運行成功");// 验证程序是否被执行了
}
}

执行结果:(值得注意的是,这个小窗口,点击右上角的X,并不能使得该窗口关闭,这里需要我们自己去设置)

下面演示添加一个按钮的操作:

import java.awt.Button;
import java.awt.Frame; public class Test19 {
public static void main(String[] args) {
demo();
} static void demo() {
Frame f = new Frame("这是我做的第一个窗口");
f.setSize(400, 400);
f.setLocation(40, 60);// 左上角的坐标 f.setVisible(true);// 使得窗口可见 Button b = new Button("按钮");// 需要导包
f.add(b);// 添加该按钮 System.out.println("運行成功");// 验证程序是否被执行了
}
}

执行结果:(注意,有按钮的,按钮在没有设置大小和位置的时候,默认为占满边框了)

总结:

对于众多的GUI组件,根据其作用,又可以分为两大类,基本组件和容器。

基本组件:按纽,文本框之类,不能容纳其他组件。

容器:可以容纳其他组件,比如窗口、对话框等,所有的容器都是java.awt.Container 的直接或间接子类(上面的Frame 就是一个容器)

附,思考:

上面的程序,执行到  System.out.println("運行成功");  就结束了,实际上这时main函数就结束了。但窗口还在。我们甚至还可以进行操作。那么一定是有别的前台线程在运行,可以理解为创建Frame的时候,又启了一个线程。

Java基础——GUI编程(一)的更多相关文章

  1. java基础—GUI编程(一)

    一.AWT介绍

  2. Java基础——GUI编程(四)

    继前面的,这篇主要记录菜单和文件对话框的两个小练习,来熟悉一下方法的应用,一些简单的逻辑和Swing的相关简介,以及关于GUI基础的记录. 一.创建一个菜单 import java.awt.FlowL ...

  3. java基础—GUI编程(二)

    一.事件监听

  4. Java基础——GUI编程(三)

    接着前两篇学习笔记,这篇主要介绍布局管理器和对话框两部分内容. 一.布局管理器 先拿一个小例子来引出话题,就按照我们随意的添加两个按钮来说,会产生什么样的效果,看执行结果. import java.a ...

  5. Java基础——GUI编程(二)

    一.事件监听机制 -- 事件源:awt 或swing包中的那些图形界面组件,即发生事件的组件 -- 事件:Event  用户对组件的一个操作 -- 监听器:Listener  负责处理事件的方法 二. ...

  6. 1.JAVA之GUI编程概述

          下列内容为本人看毕向东老师java视频教程学习笔记! JAVA GUI图形用户界面编程: Windows 操作系统提供两种操作方式:                             ...

  7. 10.JAVA之GUI编程弹出对话框Dialog

    在上节基础上添加对话框显示错误信息. 代码如下: /*弹出对话框显示错误信息,对话框一般不单独出现,一般依赖于窗体.*/ /*练习-列出指定目录内容*/ import java.awt.Button; ...

  8. 【Java】GUI编程

    GUI编程 前言 某koukou老师的任务罢了,好在狂神老师居然有GUI的课,只能说是有救星了. [狂神说Java]GUI编程入门到游戏实战 最好笑的是,老师要求掌握的居然是14年的知识,就连狂神在上 ...

  9. 2.JAVA之GUI编程布局

    布局管理器 容器中的组件排放方式,就是布局 常见的布局管理器: **************************************************** 1.FlowLayout(流式 ...

随机推荐

  1. ASP.NET MVC 主要的四种过滤器和三种具体实现类

    4种常用过滤器(IAuthrorizationFilter.IActionFilter.IResultFilter.IExceptionFilter) 和 3种具体实现类(AuthorizeAttri ...

  2. HttpWebRequest 跳转后(301,302)ResponseUri乱码问题

    问题: 目标地址: http://www.baidu.com/baidu.php?url=a000000aa.7D_ifdr1XkSUzuBz3rd2ccvp2mFoJ3rOUsnx8OdxeOeOL ...

  3. JVM活学活用——GC算法 垃圾收集器

    概述 垃圾收集 Garbage Collection 通常被称为“GC”,它诞生于1960年 MIT 的 Lisp 语言,经过半个多世纪,目前已经十分成熟了. jvm 中,程序计数器.虚拟机栈.本地方 ...

  4. 【062新题】OCP 12c 062出现大量新题-15

    choose one In your Oracle 12c database, you plan to execute the command: SQL> CREATE TABLESPACE t ...

  5. Jmeter_前端RSA加密下的登陆模拟_引用js文件实现

    版权声明:本文为博主原创文章,未经博主允许不得转载. 在一次项目实战中,前端登录使用了RSA加密,使用LoadRunner压测的第一步,就是模拟用户登录,可惜loadRunner11并不能录制前端的加 ...

  6. 02_python_while循环/格式化输出/逻辑运算

    一. while循环 1.基本形式 while 条件: 循环体 # 判断条件是否为真,如果真,执行代码块.然后再次判断条件是否为真.如果真继续执行代码块...直到条件变成了假.循环退出 ps:死循环 ...

  7. Liferay7 BPM门户开发之1:Liferay7开发环境准备

    liferay sdk下载 \IDE下载 \ Tomcat 安装细节不在此赘述 网上有很多. 只讲核心关键坑点 进入2016年,从Liferay6.2.5 ga6版本开始,到7.0 ga3,在ivy环 ...

  8. 03-01 Java运算符

    (1)算术运算符 A:+,-,*,/,%,++,-- B:+的用法 a:加法 b:正号 c:字符串连接符 C:/和%的区别 数据做除法操作的时候,/取得是商,%取得是余数 D:++和--的用法 a:他 ...

  9. Proxy代理模式(结构型模式)

    1.问题 在面向对象系统中,有些对象由于某种原因(比如创建对象的开销很大,或者某些操作需要安全控制,或者需要进程外的访问等),直接访问会给调用者带来麻烦,那么如何在不损失接口透明性的情况下,解决这些麻 ...

  10. puppet的使用:依赖关系整理

    title: date: 2016-05-08 21:45:33 tags: puppet categories: 技术 puppet中的依赖关系整理. 概述 puppet中的依赖关系大概有如下几个: ...