Java AWT组件在GUI编程中的应用有哪些?

2026-05-19 19:061阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2075个文字,预计阅读时间需要9分钟。

Java AWT组件在GUI编程中的应用有哪些?

AWT常用组件:- Button:按钮,用于触发事件。- Canvas:画布,用于绘制图形。- Checkbox:复选框,用于选择多个选项(也可作为单选框使用)。- CheckboxGroup:复选框组,将多个复选框组合成一组。

AWT中常用组件 基本组件 组件名 功能 Button Button Canvas 用于绘图的画布 Checkbox 复选框组件(也可当做单选框组件使用) CheckboxGroup 用于将多个Checkbox 组件组合成一组, 一组 Checkbox 组件将只有一个可以 被选中 , 即全部变成单选框组件 Choice 下拉选择框 Frame 窗口 , 在 GUI 程序里通过该类创建窗口 Label 标签类,用于放置提示性文本 List JU表框组件,可以添加多项条目 Panel 不能单独存在基本容器类,必须放到其他容器中 Scrollbar 滑动条组件。如果需要用户输入位于某个范围的值 , 就可以使用滑动条组件 ,比如调 色板中设置 RGB 的三个值所用的滑动条。当创建一个滑动条时,必须指定它的方向、初始值、 滑块的大小、最小值和最大值。 ScrollPane 带水平及垂直滚动条的容器组件 TextArea 多行文本域 TextField 单行文本框

这些 AWT 组件的用法比较简单,可以查阅 API 文档来获取它们各自的构方法、成员方法等详细信息。

API 文档地址:www.apiref.com/java11-zh/java.desktop/javax/swing/package-summary.html

案例:

​ 实现下图效果:


演示代码:

import javax.swing.*; import java.awt.*; public class BasicComponentDemo { Frame frame = new Frame("这里测试基本组件"); //定义一个按钮 Button ok = new Button("确认"); //定义一个复选框组 CheckboxGroup cbg = new CheckboxGroup(); //定义一个单选框,初始处于被选中状态,并添加到cbg组中 Checkbox male = new Checkbox("男", cbg, true); //定义一个单选框,初始处于未被选中状态,并添加到cbg组中 Checkbox female = new Checkbox("女", cbg, false); //定义一个复选框,初始处于未被选中状态 Checkbox married = new Checkbox("是否已婚?", false); //定义一个下拉选择框 Choice colorChooser = new Choice(); //定义一个列表选择框 List colorList = new List(6, true); //定义一个5行,20列的多行文本域 TextArea ta = new TextArea(5, 20); //定义一个50列的单行文本域 TextField tf = new TextField(50); public void init() { //往下拉选择框中添加内容 colorChooser.add("红色"); colorChooser.add("绿色"); colorChooser.add("蓝色"); //往列表选择框中添加内容 colorList.add("红色"); colorList.add("绿色"); colorList.add("蓝色"); //创建一个装载按钮和文本框的Panel容器 Panel bottom = new Panel(); bottom.add(tf); bottom.add(ok); //把bottom添加到Frame的底部 frame.add(bottom,BorderLayout.SOUTH); //创建一个Panel容器,装载下拉选择框,单选框和复选框 Panel checkPanel = new Panel(); checkPanel.add(colorChooser); checkPanel.add(male); checkPanel.add(female); checkPanel.add(married); //创建一个垂直排列的Box容器,装载 多行文本域和checkPanel Box topLeft = Box.createVerticalBox(); topLeft.add(ta); topLeft.add(checkPanel); //创建一个水平排列的Box容器,装载topLeft和列表选择框 Box top = Box.createHorizontalBox(); top.add(topLeft); top.add(colorList); //将top添加到frame的中间区域 frame.add(top); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new BasicComponentDemo().init(); } } 对话框Dialog Dialog

Dialog 是 Window 类的子类,是 一个容器类,属于特殊组件 。 对话框是可以独立存在的顶级窗口, 因此用法与普通窗口的用法几乎完全一样,但是使用对话框需要注意下面两点:

  • 对话框通常依赖于其他窗口,就是通常需要有一个父窗口;
  • 对话框有非模式(non-modal)和模式(modal)两种,当某个模式对话框被打开后,该模式对话框总是位于它的父窗口之上,在模式对话框被关闭之前,父窗口无法获得焦点。

模式窗体:你必须关闭该窗体,才能操作其它窗体;比如说,必须按确定或取消,或者按关闭。
非模式窗体:不必关闭该窗体,就可转换到其它窗体上进行操作。

方法名称 方法功能 Dialog(Frame owner, String title, boolean modal) 创建一个对话框对象:
owner:当前对话框的父窗口
title:当前对话框的标题
modal:当前对话框是否是模式对话框,true/false

案例1:

​ 通过Frame、Button、Dialog实现下图效果:

演示代码1:

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.*; public class DialogDemo1 { public static void main(String[] args) { Frame frame = new Frame("这里测试Dialog"); Dialog d1 = new Dialog(frame, "模式对话框", true); Dialog d2 = new Dialog(frame, "非模式对话框", false); Button b1 = new Button("打开模式对话框"); Button b2 = new Button("打开非模式对话框"); //设置对话框的大小和位置 d1.setBounds(20,30,300,400); d2.setBounds(20,30,300,400); //给b1和b2绑定监听事件 b1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d1.setVisible(true); } }); b2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d2.setVisible(true); } }); //把按钮添加到frame中 frame.add(b1); frame.add(b2,BorderLayout.SOUTH); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } }

在Dialog对话框中,可以根据需求,自定义内容

案例:

​ 点击按钮,弹出一个模式对话框,其内容如下:

演示代码:

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.JButton; import java.awt.*; public class DialogDemo2 { public static void main(String[] args) { Frame frame = new Frame("这里测试Dialog"); Dialog d1 = new Dialog(frame, "模式对话框", true); //往对话框中添加内容 Box vBox = Box.createVerticalBox(); vBox.add(new TextField(15)); vBox.add(new JButton("确认")); d1.add(vBox); Button b1 = new Button("打开模式对话框"); //设置对话框的大小和位置 d1.setBounds(20,30,200,100); //给b1绑定监听事件 b1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d1.setVisible(true); } }); //把按钮添加到frame中 frame.add(b1); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } } FileDialog

Dialog 类还有 一个子类 : FileDialog ,它代表一个文件对话框,用于打开或者保存 文件,需要注意的是FileDialog无法指定模态或者非模态,这是因为 FileDialog 依赖于运行平台的实现,如果运行平台的文件对话框是模态的,那么 FileDialog 也是模态的;否则就是非模态的 。

方法名称 方法功能 FileDialog(Frame parent, String title, int mode) 创建一个文件对话框:
parent:指定父窗口
title:对话框标题
mode:文件对话框类型,如果指定为FileDialog.load,用于打开文件,如果指定为FileDialog.SAVE,用于保存文件 String getDirectory() 获取被打开或保存文件的绝对路径 String getFile() 获取被打开或保存文件的文件名

案例2:

​ 使用 Frame、Button和FileDialog完成下图效果:

演示代码2:

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class FileDialogTest { public static void main(String[] args) { Frame frame = new Frame("这里测试FileDialog"); FileDialog d1 = new FileDialog(frame, "选择需要加载的文件", FileDialog.LOAD); FileDialog d2 = new FileDialog(frame, "选择需要保存的文件", FileDialog.SAVE); Button b1 = new Button("打开文件"); Button b2 = new Button("保存文件"); //给按钮添加事件 b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { d1.setVisible(true); //打印用户选择的文件路径和名称 System.out.println("用户选择的文件路径:"+d1.getDirectory()); System.out.println("用户选择的文件名称:"+d1.getFile()); } }); System.out.println("-------------------------------"); b2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { d2.setVisible(true); //打印用户选择的文件路径和名称 System.out.println("用户选择的文件路径:"+d2.getDirectory()); System.out.println("用户选择的文件名称:"+d2.getFile()); } }); //添加按钮到frame中 frame.add(b1); frame.add(b2,BorderLayout.SOUTH); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } }

个人博客本文地址:kohler19.gitee.io/2022/04/05/java-GUI2/

Java AWT组件在GUI编程中的应用有哪些?

个人博客:kohler19.gitee.io/
公众号:“愚生浅末”

欢迎关注我的公众号,共同学习

本文共计2075个文字,预计阅读时间需要9分钟。

Java AWT组件在GUI编程中的应用有哪些?

AWT常用组件:- Button:按钮,用于触发事件。- Canvas:画布,用于绘制图形。- Checkbox:复选框,用于选择多个选项(也可作为单选框使用)。- CheckboxGroup:复选框组,将多个复选框组合成一组。

AWT中常用组件 基本组件 组件名 功能 Button Button Canvas 用于绘图的画布 Checkbox 复选框组件(也可当做单选框组件使用) CheckboxGroup 用于将多个Checkbox 组件组合成一组, 一组 Checkbox 组件将只有一个可以 被选中 , 即全部变成单选框组件 Choice 下拉选择框 Frame 窗口 , 在 GUI 程序里通过该类创建窗口 Label 标签类,用于放置提示性文本 List JU表框组件,可以添加多项条目 Panel 不能单独存在基本容器类,必须放到其他容器中 Scrollbar 滑动条组件。如果需要用户输入位于某个范围的值 , 就可以使用滑动条组件 ,比如调 色板中设置 RGB 的三个值所用的滑动条。当创建一个滑动条时,必须指定它的方向、初始值、 滑块的大小、最小值和最大值。 ScrollPane 带水平及垂直滚动条的容器组件 TextArea 多行文本域 TextField 单行文本框

这些 AWT 组件的用法比较简单,可以查阅 API 文档来获取它们各自的构方法、成员方法等详细信息。

API 文档地址:www.apiref.com/java11-zh/java.desktop/javax/swing/package-summary.html

案例:

​ 实现下图效果:


演示代码:

import javax.swing.*; import java.awt.*; public class BasicComponentDemo { Frame frame = new Frame("这里测试基本组件"); //定义一个按钮 Button ok = new Button("确认"); //定义一个复选框组 CheckboxGroup cbg = new CheckboxGroup(); //定义一个单选框,初始处于被选中状态,并添加到cbg组中 Checkbox male = new Checkbox("男", cbg, true); //定义一个单选框,初始处于未被选中状态,并添加到cbg组中 Checkbox female = new Checkbox("女", cbg, false); //定义一个复选框,初始处于未被选中状态 Checkbox married = new Checkbox("是否已婚?", false); //定义一个下拉选择框 Choice colorChooser = new Choice(); //定义一个列表选择框 List colorList = new List(6, true); //定义一个5行,20列的多行文本域 TextArea ta = new TextArea(5, 20); //定义一个50列的单行文本域 TextField tf = new TextField(50); public void init() { //往下拉选择框中添加内容 colorChooser.add("红色"); colorChooser.add("绿色"); colorChooser.add("蓝色"); //往列表选择框中添加内容 colorList.add("红色"); colorList.add("绿色"); colorList.add("蓝色"); //创建一个装载按钮和文本框的Panel容器 Panel bottom = new Panel(); bottom.add(tf); bottom.add(ok); //把bottom添加到Frame的底部 frame.add(bottom,BorderLayout.SOUTH); //创建一个Panel容器,装载下拉选择框,单选框和复选框 Panel checkPanel = new Panel(); checkPanel.add(colorChooser); checkPanel.add(male); checkPanel.add(female); checkPanel.add(married); //创建一个垂直排列的Box容器,装载 多行文本域和checkPanel Box topLeft = Box.createVerticalBox(); topLeft.add(ta); topLeft.add(checkPanel); //创建一个水平排列的Box容器,装载topLeft和列表选择框 Box top = Box.createHorizontalBox(); top.add(topLeft); top.add(colorList); //将top添加到frame的中间区域 frame.add(top); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } public static void main(String[] args) { new BasicComponentDemo().init(); } } 对话框Dialog Dialog

Dialog 是 Window 类的子类,是 一个容器类,属于特殊组件 。 对话框是可以独立存在的顶级窗口, 因此用法与普通窗口的用法几乎完全一样,但是使用对话框需要注意下面两点:

  • 对话框通常依赖于其他窗口,就是通常需要有一个父窗口;
  • 对话框有非模式(non-modal)和模式(modal)两种,当某个模式对话框被打开后,该模式对话框总是位于它的父窗口之上,在模式对话框被关闭之前,父窗口无法获得焦点。

模式窗体:你必须关闭该窗体,才能操作其它窗体;比如说,必须按确定或取消,或者按关闭。
非模式窗体:不必关闭该窗体,就可转换到其它窗体上进行操作。

方法名称 方法功能 Dialog(Frame owner, String title, boolean modal) 创建一个对话框对象:
owner:当前对话框的父窗口
title:当前对话框的标题
modal:当前对话框是否是模式对话框,true/false

案例1:

​ 通过Frame、Button、Dialog实现下图效果:

演示代码1:

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.*; public class DialogDemo1 { public static void main(String[] args) { Frame frame = new Frame("这里测试Dialog"); Dialog d1 = new Dialog(frame, "模式对话框", true); Dialog d2 = new Dialog(frame, "非模式对话框", false); Button b1 = new Button("打开模式对话框"); Button b2 = new Button("打开非模式对话框"); //设置对话框的大小和位置 d1.setBounds(20,30,300,400); d2.setBounds(20,30,300,400); //给b1和b2绑定监听事件 b1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d1.setVisible(true); } }); b2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d2.setVisible(true); } }); //把按钮添加到frame中 frame.add(b1); frame.add(b2,BorderLayout.SOUTH); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } }

在Dialog对话框中,可以根据需求,自定义内容

案例:

​ 点击按钮,弹出一个模式对话框,其内容如下:

演示代码:

import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.JButton; import java.awt.*; public class DialogDemo2 { public static void main(String[] args) { Frame frame = new Frame("这里测试Dialog"); Dialog d1 = new Dialog(frame, "模式对话框", true); //往对话框中添加内容 Box vBox = Box.createVerticalBox(); vBox.add(new TextField(15)); vBox.add(new JButton("确认")); d1.add(vBox); Button b1 = new Button("打开模式对话框"); //设置对话框的大小和位置 d1.setBounds(20,30,200,100); //给b1绑定监听事件 b1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { d1.setVisible(true); } }); //把按钮添加到frame中 frame.add(b1); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } } FileDialog

Dialog 类还有 一个子类 : FileDialog ,它代表一个文件对话框,用于打开或者保存 文件,需要注意的是FileDialog无法指定模态或者非模态,这是因为 FileDialog 依赖于运行平台的实现,如果运行平台的文件对话框是模态的,那么 FileDialog 也是模态的;否则就是非模态的 。

方法名称 方法功能 FileDialog(Frame parent, String title, int mode) 创建一个文件对话框:
parent:指定父窗口
title:对话框标题
mode:文件对话框类型,如果指定为FileDialog.load,用于打开文件,如果指定为FileDialog.SAVE,用于保存文件 String getDirectory() 获取被打开或保存文件的绝对路径 String getFile() 获取被打开或保存文件的文件名

案例2:

​ 使用 Frame、Button和FileDialog完成下图效果:

演示代码2:

import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class FileDialogTest { public static void main(String[] args) { Frame frame = new Frame("这里测试FileDialog"); FileDialog d1 = new FileDialog(frame, "选择需要加载的文件", FileDialog.LOAD); FileDialog d2 = new FileDialog(frame, "选择需要保存的文件", FileDialog.SAVE); Button b1 = new Button("打开文件"); Button b2 = new Button("保存文件"); //给按钮添加事件 b1.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { d1.setVisible(true); //打印用户选择的文件路径和名称 System.out.println("用户选择的文件路径:"+d1.getDirectory()); System.out.println("用户选择的文件名称:"+d1.getFile()); } }); System.out.println("-------------------------------"); b2.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { d2.setVisible(true); //打印用户选择的文件路径和名称 System.out.println("用户选择的文件路径:"+d2.getDirectory()); System.out.println("用户选择的文件名称:"+d2.getFile()); } }); //添加按钮到frame中 frame.add(b1); frame.add(b2,BorderLayout.SOUTH); //设置frame最佳大小并可见 frame.pack(); frame.setVisible(true); } }

个人博客本文地址:kohler19.gitee.io/2022/04/05/java-GUI2/

Java AWT组件在GUI编程中的应用有哪些?

个人博客:kohler19.gitee.io/
公众号:“愚生浅末”

欢迎关注我的公众号,共同学习