前面提到容器是用来组织组件的,那么这一篇博客就为大家介绍一些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();
   }
}

运行效果:

这里写图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐