Java基础学习总结 -- 图形用户界面GUI(持更)

  虽然目前Java算不上前端开发的主力,但是作为Java入门基础的一部分,学习Java的GUI编程还是有必要的,而且可以做出一些小且有趣的图形程序来提高学习热情。本篇学习总结均为一个Beginner的笔记与心得,如有描述不到或错误之处,敬请指正。

  1. JavaGUI主要开发工具 -- Swing类库的诞生与功能

  一个合格的Java Developer,不仅要掌握技术,还要有一定的Java历史背景知识储备。所以先简要介绍一下用于JavaGUI开发的主要类库:Swing。

  在Java 1.0时代便有设计GUI的基本类库Abstract Window Toolkit,简称AWT。AWT库工作原理是将处理用户界面元素的任务委派给目标平台(操作系统)的本地GUI工具箱,由本地GUI工具箱负责用户界面元素的创建和动作。这种工作方式是有利也有弊,先说下利处:

  • 处理速度可能要快一点。
  • 可以适应不同的平台,“一次编写,随处使用”。

  弊处:

  • 观感依赖于目标平台。
  • 有些平台并没有像Windows或Mac这样丰富的界面组件(早期)。所以把AWT的设计工作限制在了“最小公分母”。
  • 不同平台存在不同的bug。

  1996年,Netscape创建了另一种GUI库IFC,他的工作方式是 将用户界面组件绘制在空白窗口上,而对等体只需要负责创建和绘制空白窗口。Sun和Netscape合作并完善了这种方式,创建了名为Swing的用户界面库,这便是Swing的诞生

  但是Swing并没有完全取代AWT,到目前Java SE 8中依旧有AWT与Swing两个功能类库:

  • AWT import java.awt (java为核心包)
  • Swing import javax.swing (javax包为功能扩展包)

  Swing没有完全取代AWT的原因是:Swing是基于AWT的架构之上,Swing仅仅是提供了能力更强大的用户界面组件。在Swing编写的程序中,还是需要AWT进行事件处理。简单说就是,Swing是用户界面类,AWT是底层机制

AWT和Swing中框架和组件类的继承层次

  2.创建JFrame框架

  3.在框架中添加文本组件JComponent

  

时间: 2024-08-08 14:29:22

Java基础学习总结 -- 图形用户界面GUI(持更)的相关文章

JAVA程序设计(15.1)----- 图形用户界面GUI 制作红绿灯~

GUI  Graphics User Interrface图形化的用户界面,让用户通过点击鼠标就能完成想要做的事情: 主要是练习界面设置 界面布局 添加组件 设置组件 接口 重写 监听器 制作一个信号灯,点击下面的单选按钮 指定的信号灯亮起,代码如下: package com.lovo.homework1; import java.awt.Color; import java.awt.Graphics; import java.awt.event.ItemEvent; import java.a

JAVA程序设计(15.3)----- 图形用户界面GUI 制作挂钟

1.自动读取系统时间转换成挂钟 ,随系统时间走秒的 设置字体 JFrame加入各种组件  初始化并调整组件 2D画笔 双缓冲 监听器 Timer  大概就这些练习吧-- package com.lovo.homework3; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import ja

java基础学习总结——GUI编程(一)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——GUI编程(一) 一.AWT介绍 所有的可以显示出来的图形元素都称为Component,Component代表了所有的可见的图形元素,Component里面有一种比较特殊的图形元素叫Container,Container(容器)在图形界面里面是一种可以容纳其它Component元素的一种容器,Container本身也是一种Component的,Container里面也可以容纳别的Container. Cont

java基础学习总结——GUI编程(二)

永不放弃,一切皆有可能!!! 只为成功找方法,不为失败找借口! java基础学习总结——GUI编程(二) 一.事件监听 测试代码一: 1 package cn.javastudy.summary; 2 3 import java.awt.*; 4 import java.awt.event.*; 5 6 public class TestActionEvent { 7 public static void main(String args[]) { 8 Frame f = new Frame("

Java基础学习——数组初识(1)

Java基础学习--数组初识(1) 1什么是数组 Java中常见的一种数据结构就是数组,数组可以分为一维数组.二维数组和多维数组. 数组是由一组相同的变量组成的数据类型,数组中每个元素具有相同的数据类型,数组中的每个元素都可以用一个统一的数组名和下标来确定. 2 数组的使用 数组的一般使用步骤: 声明数组 分配内存给该数组 下面是一维数组为例: 数据类型  数组名 []: 数组名 = new 数据类型 [数据个数]: 2.1一维数组的声明与赋值 1.数组的声明 int  num [];    

JAVA基础学习笔记(2)

看了几天的视频了,都没时间来写下学习笔记,今天来写下第二次的学习笔记,前几天看的给忘记了,就写最新看到的吧 主要内容:1.类的变量与函数(方法) 2.对象的存储方式 3.新建一个对象及对象的赋值与调用 4.空对象 5.匿名对象 1.类的变量与函数(方法) class Dog      //类名 { String name;  //变量的声明 int age; String color; void bark()   //方法的定义(返回值为空,不带参数) { System.out.println(

Java基础学习--抽象类与抽象函数

Java基础学习--抽象类与抽象函数 abstract class 抽象类不能制造对象,但是可以定义变量,赋给这个变量的一定是他非抽象子类的对象: 抽象类中的抽象函数没有函数体,例如:public abstract void move(); 一个抽象类可以没有任何抽象方法,所有的方法都有方法体,但是整个类是抽象的. 抽象类中所有的的抽象函数必需子类的覆盖,而非抽象函数不需要覆盖.因为子类会继承父类的函数,如果不去覆盖继承来的抽象函数,那么子类就含有抽象函数,含有抽象函数的类必须要声明为抽象类.

JAVA基础学习笔记(1)

今天第一天开始学JAVA,时间:2014年6月17日 学习内容:1.java环境的架设 2.JAVA基本数据类型 1.JAVA环境的架设       1.要先去下载JDK,下载地址 2.安装完成后,设置环境变量 1.1环境变量的设置        1.右键-我的电脑-属性-高级-环境变量-系统变量,找到PATH,在里面加入jdk里bin目录的地址 如:c:\java\bin; 2.新建-名为classpath,值为. 1.2测试JAVA是否配置正确        1.在cmd里面输入javac.

Java基础学习总结——Java对象的序列化和反序列化

一.序列化和反序列化的概念 把对象转换为字节序列的过程称为对象的序列化. 把字节序列恢复为对象的过程称为对象的反序列化. 对象的序列化主要有两种用途: 1) 把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中: 2) 在网络上传送对象的字节序列. 在很多应用中,需要对某些对象进行序列化,让它们离开内存空间,入住物理硬盘,以便长期保存.比如最常见的是Web服务器中的Session对象,当有 10万用户并发访问,就有可能出现10万个Session对象,内存可能吃不消,于是Web容器就会把一些s