JavaSE-第13章 图形用户界面
1.图形用户界面及其组件
1.2 java.awt包与重量级组件
- JDK1.0版图形界面包只有java.awt(简称AWT)。
- AWT表示“抽象窗口工具包”(Abstract Window Toolkit)
- AWT组件是“重量级”的,依靠本地计算机平台实现。
- 组件分:
- 容器:容纳组件(含容器)的组件,Frame和Panel等。
- 基本组件:Label、Button、TextField(文本框)等,
- 组件根类Component,容器根类Container。
- 注:Container类继承Component类,即容器也是组件。
- 容器一般具有布局管理器(对应LayoutManager接口),
- 容器中组件的位置通过布局(Layout)进行管理。
例:使用AWT包组件编程:在文本框中输入姓名,单击按钮,在文本区中显示问候语
1 import java.awt.*; 2 import java.awt.event.ActionEvent; 3 import java.awt.event.ActionListener; 4 import java.awt.event.WindowAdapter; 5 import java.awt.event.WindowEvent; 6 7 /** 8 * @Time:2022/4/8 11:10 9 * @Author:Henry Scofield 10 * @File:Ex1.java 11 * @Software:IntelliJ IDEA 12 */ 13 class Ex1 extends Frame { // Frame子类 14 private static final long serialVersionUID = 1L; 15 private Label lab = new Label("请输入您的姓名:"); 16 private TextField tf = new TextField(10); 17 private Button but = new Button("确定"); 18 private TextArea ta = new TextArea(1,30); 19 private Panel pan = new Panel(); 20 21 public Ex1(){ 22 this.setTitle("自定义的Frame窗体"); 23 this.setBounds(100,200,260,150); 24 initialize(); // 调用初始化方法 25 this.setVisible(true); 26 } 27 public void initialize(){ // 初始化方法 28 pan.add(lab); pan.add(tf); 29 pan.add(but); pan.add(ta); 30 this.add(pan); 31 but.addActionListener(new ActionListener() { 32 public void actionPerformed(ActionEvent e) { 33 ta.setText(tf.getText()+",您好!"); 34 } 35 }); 36 this.addWindowListener(new WindowAdapter() { 37 38 public void windowClosing(WindowEvent e) { 39 System.exit(0); 40 } 41 }); 42 } 43 44 public static void main(String[] args) { 45 new Ex1(); 46 } 47 }
运行后发现窗体显示中文乱码,因此进行以下设置:
在VM options 中添加下面这句。
-Dfile.encoding=gbk