一、定义

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. C# 简述Action与function

    Action 与 Func是.NET类库中增加的内置委托,以便更加简洁方便的使用委托. 最初使用委托时,均需要先定义委托类型,然后定义一个符合委托类型签名的函数,在调用前,需声明并创建委托对象,将指定 ...

  2. IO相关1(io类/流状态)

    IO类: iostream 定义了用于读写流的基本类型,fstream 定义了读写命名文件的类型,sstream 定义了读写内存 string 对象的类型. IO 库类型和头文件: 头文件 类型 io ...

  3. cad2014卸载/安装失败/如何彻底卸载清除干净cad2014注册表和文件的方法

    cad2014提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装cad2014失败提示cad2014安装未完成,某些产品无法安装,也有时候想重新安装cad2014 ...

  4. diamond的设计思路

    diamond主要包含四个包:diamond-client.diamond-sdk.diamond-server和diamond-util client就非常简单的进行http的调用server拿数据 ...

  5. Java并发编程总结2——慎用CAS

    一.CAS和synchronized适用场景 1.对于资源竞争较少的情况,使用synchronized同步锁进行线程阻塞和唤醒切换以及用户态内核态间的切换操作额外浪费消耗cpu资源:而CAS基于硬件实 ...

  6. angularJS详解

    这篇文章转载  kooky798 的博客,http://blog.csdn.net/yy374864125/article/details/41349417, 写到这么详细也是没谁了,必须粉一个 1 ...

  7. 机器学习基石笔记:16 Three Learning Principles

    三个理论上界: 三个线性模型: 三个关键工具: 三条学习规则: 1.奥卡姆剃刀定律 先从简单模型开始, 训练后出现欠拟合, 再尝试复杂点模型. 2.采样误差 训练.验证.测试数据尽量同分布. 3.数据 ...

  8. vue项目在IE下报错"strict 模式下不允许一个属性有多个定义"

    待解决:

  9. POJ 2876

    #include<iostream> #include<string> using namespace std; ]; int main() { //freopen(" ...

  10. 3DMax——基础

    1.首次打开3DMAX设置单位: 自定义→单位设置→①系统单位设置→1单位=1.0毫米:②公制→毫米 注:室内单位为毫米,室外单位为米 2.从CAD导出可以导入到3DMAX的文件: 选中要导出的部分→ ...