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 }
Ex1

运行后发现窗体显示中文乱码,因此进行以下设置:

 

 

 

 

在VM options 中添加下面这句。

 -Dfile.encoding=gbk

 

 

 

 

posted on 2022-04-08 11:42  henry06007  阅读(50)  评论(0编辑  收藏  举报