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