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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!