「这是我参与11月更文挑战的第21天,活动详情查看:2021最后一次更文挑战」
1.什么是Java图形用户界面
图形用户界面是用户与程序交互的窗口,Java程序一般都需要设计、建立自己的用户界面并利用它接受用户的输入,向用户显示运行结果。
在Java语言中,为了方便图形用户界面的开发,设计了专门的类库来生成各种标准图形元素和处理各种事件,这个类库就是Java.awt包。
一、Java语言平台无关性组件的实现
图形用户界面是当今流行的操作系统界面。
Java语言为了适应发展趋势,也具有开发图形化的用户界面的功能。
Java语言自身的特点要求其图形用户界面具有平台无关性。
2.图形用户界面3要素:
放置组件的容器(例如窗体、对话框、中间容器)
在容器中的组件(按钮、文本框、菜单等)
事件监听处理机制
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class TestGUI extends JFrame implements ActionListener{
JButton english = new JButton("English Title");
JButton 中文 = new JButton("中文标题");
TestGUI(){
setLayout(new FlowLayout());
add(english);
add(中文);
english.addActionListener(this);
中文.addActionListener(this);
setLocation(100, 100);
setSize(250, 150);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void actionPerformed(ActionEvent ae) {
if(ae.getSource() == english) {
this.setTitle("The first GUI");
}
if(ae.getSource() == 中文){
this.setTitle("第一个图形界面");
}
}
public static void main(String[ ] args) {
new TestGUI();
}
}
java.awt包
基本组件包括 • Button、Label、TextField、TextArea、List、 Checkbox、Menu、MenuBar等 容器组件包括 • Frame、Dialog、Applet和Panel java.awt包中的组件称为AWT组件
javax.swing包
这个包中提供了与java.awt包中几乎完全相对应 的组件 javax.swing包中的JButton类与java.awt包中的 Button类相对应,JFrame类与Frame类相对应 javax.swing包中的组件称为Swing组件
java.awt包和javax.swing包
开发javax.swing包的主要目的是为了程序的可 移植性 AWT组件类创建的对象在具体的机器上要有一 个“对等体” 负责程序的运行,在不同机器上 的程序会略有差别,占用资源多,并且复杂的 用户界面程序难于调试 Swing组件类取消了对等体,直接针对不同的系 统解释执行字节码,使得程序消耗资源少,并 且在不同机器上运行时几乎看不出界面的差别 由于消耗资源的程度不同,把有对等体的AWT 组件称为重组件,而没有对等体的Swing组件称 为轻组件 在今后的编程过程中要尽量采用轻组件,尽 量避免采用重组件