JAVA图形界面(GUI)之常用组件

简介:

前面提到容器是用来组织组件的,那么这一篇博客就为大家介绍一些Java的常用组件。最后通过一个例子展示这些组件的实际效果。

按钮(JButton)

JButton是我们常用的一个组件,其表现形式为一个按钮。

构造方法

方法 说明
JButton() 创建不带有设置文本或图标的按钮
JButton(Action a) 创建一个按钮,其属性从所提供的 Action 中获取
JButton(Icon icon) 创建一个带图标的按钮
JButton(String text) 创建一个带文本的按钮
JButton(String text, Icon icon) 创建一个带初始文本和图标的按钮

按钮(JToggleButton)

JToggleButton与JButton的区别在于JToggleButton有两个状态:按下和弹起。

构造方法

方法 说明
JToggleButton() 创建最初未选定的切换按钮,不设置文本或图像
JToggleButton(Action a) 创建一个切换按钮,其属性从所提供的 Action 获取
JToggleButton(Icon icon) 创建一个最初未选定的切换按钮,该按钮具有指定的图像但是没有文本
JToggleButton(Icon icon, boolean selected) 创建具有指定图像和选择状态但没有文本的切换按钮
JToggleButton(String text) 创建具有指定文本的未选定的切换按钮
JToggleButton(String text, boolean selected) 创建具有指定文本和选择状态的切换按钮
JToggleButton(String text, Icon icon) 创建一个最初未选定的切换按钮,该按钮具有指定的文本和图像。
JToggleButton(String text, Icon icon, boolean selected) 创建具有指定文本、图像和选择状态的切换按钮

标签(JLabel)

用于短文本字符串或图像或二者的显示区。

构造方法

方法 说明
JLabel() 创建无图像并且其标题为空字符串的 JLabel
JLabel(Icon image) 创建具有指定图像的 JLabel 实例
JLabel(Icon image, int horizontalAlignment) 创建具有指定图像和水平对齐方式的 JLabel 实例
JLabel(String text) 创建具有指定文本的 JLabel 实例
JLabel(String text, Icon icon, int horizontalAlignment) 创建具有指定文本、图像和水平对齐方式的 JLabel 实例
JLabel(String text, int horizontalAlignment) 创建具有指定文本和水平对齐方式的 JLabel 实例

复选框(JCheckBox)

复选框的实现,复选框是一个可以被选定和取消选定的项,它将其状态显示给用户。

构造方法

方法 说明
JCheckBox() 创建一个没有文本、没有图标并且最初未被选定的复选框
JCheckBox(Action a) 创建一个复选框,其属性从所提供的 Action 获取
JCheckBox(Icon icon) 创建有一个图标、最初未被选定的复选框
JCheckBox(Icon icon, boolean selected) 创建一个带图标的复选框,并指定其最初是否处于选定状态
JCheckBox(String text) 创建一个带文本的、最初未被选定的复选框
JCheckBox(String text, boolean selected) 创建一个带文本的复选框,并指定其最初是否处于选定状态
JCheckBox(String text, Icon icon) 创建带有指定文本和图标的、最初未选定的复选框
JCheckBox(String text, Icon icon, boolean selected) 创建一个带文本和图标的复选框,并指定其最初是否处于选定状态

单选按钮(JRadioButton)

实现一个单选按钮,此按钮项可被选择或取消选择,并可为用户显示其状态。与 ButtonGroup 对象配合使用可创建一组按钮,一次只能选择其中的一个按钮。

构造方法

方法 说明
JRadioButton() 创建一个初始化为未选择的单选按钮,其文本未设定
JRadioButton(Action a) 创建一个单选按钮,其属性来自提供的 Action
JRadioButton(Icon icon) 创建一个初始化为未选择的单选按钮,其具有指定的图像但无文本
JRadioButton(Icon icon, boolean selected) 创建一个具有指定图像和选择状态的单选按钮,但无文本
JRadioButton(String text) 创建一个具有指定文本的状态为未选择的单选按钮
JRadioButton(String text, boolean selected) 创建一个具有指定文本和选择状态的单选按钮
JRadioButton(String text, Icon icon) 创建一个具有指定的文本和图像并初始化为未选择的单选按钮
JRadioButton(String text, Icon icon, boolean selected) 创建一个具有指定的文本、图像和选择状态的单选按钮

文本框(JTextField)

JTextField 是一个轻量级组件,它允许编辑单行文本。

构造方法

方法 说明
JTextField() 构造一个新的 TextField
JTextField(Document doc, String text, int columns) 构造一个新的 JTextField,它使用给定文本存储模型和给定的列数
JTextField(int columns) 构造一个具有指定列数的新的空 TextField
JTextField(String text) 构造一个用指定文本初始化的新 TextField
JTextField(String text, int columns) 构造一个用指定文本和列初始化的新 TextField

密码框(JPasswordField)

JPasswordField 是一个轻量级组件,允许编辑单行文本,其视图指示键入内容,但不显示原始字符。

构造方法

方法 说明
JPasswordField() 构造一个新 JPasswordField,使其具有默认文档、为 null 的开始文本字符串和为 0 的列宽度
JPasswordField(Document doc, String txt, int columns) 构造一个使用给定文本存储模型和给定列数的新 JPasswordField
JPasswordField(int columns) 构造一个具有指定列数的新的空 JPasswordField
JPasswordField(String text) 构造一个利用指定文本初始化的新 JPasswordField
JPasswordField(String text, int columns) 构造一个利用指定文本和列初始化的新 JPasswordField

文本域(JTextArea)

JTextArea 是一个显示纯文本的多行区域。

构造方法

方法 说明
JTextArea() 构造新的 TextArea
JTextArea(Document doc) 构造新的 JTextArea,使其具有给定的文档模型,所有其他参数均默认为 (null, 0, 0)
JTextArea(Document doc, String text, int rows, int columns) 构造具有指定行数和列数以及给定模型的新的 JTextArea
JTextArea(int rows, int columns) 构造具有指定行数和列数的新的空 TextArea
JTextArea(String text) 构造显示指定文本的新的 TextArea。
JTextArea(String text, int rows, int columns) 构造具有指定文本、行数和列数的新的 TextArea

使用示例

例子仅仅展示上述组件的显示状态。

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JPasswordField;
import javax.swing.JRadioButton;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.JToggleButton;

public class SwingDemo extends JFrame
{
   public SwingDemo()
   {
      super("SwingDemo");
      JPanel root = new JPanel();
      root.add(new JButton("我是JButton"));
      root.add(new JToggleButton("我是JToggleButton"));
      root.add(new JLabel("我是JLabel"));
      root.add(new JCheckBox("我是JCheckBox"));
      root.add(new JRadioButton("我是JRadioButton"));
      root.add(new JTextField("我是JTextField"));
      root.add(new JPasswordField("我是JPasswordField"));
      root.add(new JTextArea("我是JTextArea"));
      add(root);
      setSize(400, 300);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
   }

   public static void main(String[] args)
   {
      new SwingDemo();
   }
}

运行效果:

这里写图片描述

目录
相关文章
|
1月前
|
消息中间件 Java Kafka
Java 事件驱动架构设计实战与 Kafka 生态系统组件实操全流程指南
本指南详解Java事件驱动架构与Kafka生态实操,涵盖环境搭建、事件模型定义、生产者与消费者实现、事件测试及高级特性,助你快速构建高可扩展分布式系统。
156 7
|
3月前
|
Java 数据库连接 数据库
Java 组件详细使用方法与封装实战指南
本指南详解Java核心组件使用与封装技巧,涵盖跨平台开发、面向对象编程、多线程、数据库操作等关键内容,并提供工具类、连接池、异常及响应结果的封装方法。结合Spring框架、MyBatis、Spring Boot等主流技术,助你掌握高质量Java组件设计与开发实践。
152 2
|
11月前
|
存储 消息中间件 安全
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
【10月更文挑战第9天】本文介绍了如何利用JUC组件实现Java服务与硬件通过MQTT的同步通信(RRPC)。通过模拟MQTT通信流程,使用`LinkedBlockingQueue`作为消息队列,详细讲解了消息发送、接收及响应的同步处理机制,包括任务超时处理和内存泄漏的预防措施。文中还提供了具体的类设计和方法实现,帮助理解同步通信的内部工作原理。
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
|
11月前
|
Java 数据安全/隐私保护 容器
java当中组件和窗口的相容问题(里面包含了这些方法的作用)
Java窗口和组件的布局指南,教你如何打造一个既美观又实用的GUI界面。
103 0
|
存储 搜索推荐 Java
探索安卓开发中的自定义视图:打造个性化UI组件Java中的异常处理:从基础到高级
【8月更文挑战第29天】在安卓应用的海洋中,一个独特的用户界面(UI)能让应用脱颖而出。自定义视图是实现这一目标的强大工具。本文将通过一个简单的自定义计数器视图示例,展示如何从零开始创建一个具有独特风格和功能的安卓UI组件,并讨论在此过程中涉及的设计原则、性能优化和兼容性问题。准备好让你的应用与众不同了吗?让我们开始吧!
|
人工智能 自然语言处理 Java
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
文章介绍了Spring AI,这是Spring团队开发的新组件,旨在为Java开发者提供易于集成的人工智能API,包括机器学习、自然语言处理和图像识别等功能,并通过实际代码示例展示了如何快速集成和使用这些AI技术。
Spring AI,Spring团队开发的新组件,Java工程师快来一起体验吧
|
存储 算法 前端开发
JVM架构与主要组件:了解Java程序的运行环境
JVM的架构设计非常精妙,它确保了Java程序的跨平台性和高效执行。通过了解JVM的各个组件,我们可以更好地理解Java程序的运行机制,这对于编写高效且稳定的Java应用程序至关重要。
156 3
|
安全 前端开发 Java
Java技术栈中的核心组件:Spring框架
Java作为一门成熟的编程语言,其生态系统拥有众多强大的组件和框架,其中Spring框架无疑是Java技术栈中最闪耀的明星之一。Spring框架为Java开发者提供了一套全面的编程和配置模型,极大地简化了企业级应用的开发流程。
158 1
|
存储 并行计算 安全
Java面试题:请解释Java并发工具包中的主要组件及其应用场景,请描述一个使用Java并发框架(如Fork/Join框架)解决实际问题的编程实操问题
Java面试题:请解释Java并发工具包中的主要组件及其应用场景,请描述一个使用Java并发框架(如Fork/Join框架)解决实际问题的编程实操问题
98 0
|
前端开发 Oracle Java
Java中的GUI应用开发技术选型
Java中的GUI应用开发技术选型