博学谷——让IT教学更简单,让IT学习更有效
JCheckBox组件被称为复选框,它有选中(是)/未选中(非)两种状态,如果用户想接收的输入只有“是”和“非”,则可以通过复选框来切换状态。如果复选框有多个,则用户可以选中其中一个或者多个。为了让初学者掌握JCheckBox组件的使用,本案例将演示一下JCheckBox组件的用法。
4、 设计思路(实现原理)
1)编写Example16类,创建一个JLabel标签并设置标签文本的字体。
2)创建两个JCheckBox复选框,一个可以设置文本字体为斜体,一个设置为黑体。 3)为复选框定义ActionListener监听器
二、案例实现
import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class Example16 extends JFrame {
private JCheckBox italic; private JCheckBox bold; private JLabel label; public Example16() {
// 创建一个JLabel标签 ,标签文本居中对齐
label = new JLabel(\请选择字体样式\// 设置标签文本的字体
label.setFont(new Font(\宋体\this.add(label); // 在CENTER域添加标签 JPanel panel = new JPanel(); // 创建一个JPanel面板 // 创建两个JCheckBox复选框 italic = new JCheckBox(\斜体\bold = new JCheckBox(\黑体\// 为复选框定义ActionListener监听器
ActionListener listener = new ActionListener() { };
// 为两个复选框添加监听器
italic.addActionListener(listener); bold.addActionListener(listener); // 在JPanel面板面板添加复选框
31
public void actionPerformed(ActionEvent e) { }
int mode = 0;
if (bold.isSelected())
mode += Font.BOLD; mode += Font.ITALIC; if (italic.isSelected())
label.setFont(new Font(\宋体\
博学谷——让IT教学更简单,让IT学习更有效
}
}
public static void main(String[] args) { }
new Example16 (); panel.add(italic); panel.add(bold);
// 在SOUTH域添加JPanel面板
this.add(panel, BorderLayout.SOUTH);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setSize(300, 300); this.setVisible(true);
运行结果如图9-20所示:
图9-20 运行结果
三、案例总结
1、本案例中,在JPanel面板中放置了“黑体”和“斜体”两个复选框,并为这两个按钮注册监听事件,通过判断这两个按钮是否选中来改变界面字体的样式。图9-20中,四个图分别表示勾选零个、一个和两个复选框时 “请选择字体样式”所显示的字体样式。
2、下表列举了创建JCheckBox对象的常用的构造方法。 方法描述 JCheckBox() JCheckBox(String text) JCheckBox(String text,boolean selected) 功能说明 创建一个没有文本信息,初始状态未被选中的复选框 创建一个带有文本信息,初始状态未被选定的复选框 创建一个带有文本信息,并指定初始状态(选中/未选中)的复选框 案例9-17 JRadioButton组件 一、案例描述
1、 考核知识点
编号:00109021
名称:JRadioButton组件
32
博学谷——让IT教学更简单,让IT学习更有效
2、 练习目标
? 掌握JRadioButton组件的使用
3、 需求分析
JRadioButton组件被称为单选按钮,单选按钮只能选中一个,对于JRadioButton按钮来说,当一个按钮被选中时,先前被选中的按钮就会自动取消选中。为了让初学者掌握JRadioButton组件的使用,本案例将演示一下JRadioButton组件的用法。
4、 设计思路(实现原理)
1)编写Example17类,创建一个面板。
2)在JPanel面板上放置三个JRadioButton按钮,代表“红”、“黄”、“蓝”。
3)将按钮添加到panel面板和ButtonGroup按钮组中并添加监听器,选择三个JRadioButton按钮可以改变面板的颜色。
二、案例实现
import java.awt.*; import javax.swing.*; import java.awt.event.*;
public class Example17 extends JFrame {
private ButtonGroup group; // 单选按钮组对象
private JPanel panel; // JPanel面板放置三个JRadioButton按钮 private JPanel pallet; // JPanel面板作为调色板 public Example17() { } /**
* @param name
* JRadioButtion按钮的文本信息 用于创建一个带有文本信息的JRadioButton按钮 * 将按钮添加到panel面板和ButtonGroup按钮组中 并添加监听器 */
private void addJRadioButton(final String text) {
JRadioButton radioButton = new JRadioButton(text); group.add(radioButton);
33
pallet = new JPanel();
this.add(pallet, BorderLayout.CENTER); // 将调色板面板放置了CENTER区域 panel = new JPanel(); group = new ButtonGroup(); // 调用addJRadioButton()方法 addJRadioButton(\红\addJRadioButton(\黄\addJRadioButton(\蓝\
this.add(panel, BorderLayout.NORTH); this.setSize(300, 300);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);
博学谷——让IT教学更简单,让IT学习更有效
}
}
public static void main(String[] args) { }
new Example17 (); panel.add(radioButton);
radioButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) { }
Color color = null; if (\红\ }
pallet.setBackground(color);
color = Color.RED; color = Color.YELLOW; color = Color.BLUE; color = Color.WHITE;
} else if (\黄\} else if (\蓝\} else {
});
运行结果如图9-21所示:
图9-21 运行结果
三、案例总结
1、本案例中,在JPanel面板中放置了“红”、“黄”、“蓝”三个单选按钮,并为这三个按钮注册监听事件,通过判断这两个按钮是否选中来改变面板的颜色。
2、下表列举了创建JRadioButton对象常见的构造方法。 方法描述 JRadioButton () JRadioButton (String text) JRadioButton (String text,boolean selected) 功能说明 创建一个没有文本信息、初始状态未被选中的单选框 创建一个带有文本信息、初始状态未被选定的单选框 创建一个具有文本信息,并指定初始状态(选中/未选中)的单选框。 34
博学谷——让IT教学更简单,让IT学习更有效
案例9-18 JcomboBox下拉列表框的使用 一、案例描述
1、 考核知识点
编号:00109022
名称:JComboBox组件
2、 练习目标
? 掌握JComboBox下拉列表的使用方法
3、 需求分析
JComboBox下拉列表框,会将所有选项折叠在一起,当用户点击组合框时,会出现下拉式的选择列表。用户可以从中选择一项并显示。为了让初学者熟悉JComboBox下拉列表框,本案例将演示JComboBox下拉列表框的用法。
4、 设计思路(实现原理)
1) 编写类Example18,创建JPanel面板。 2) 创建一个组合框并为组合框添加选项。
3) 为组合框添加事件监听器,所选择的组合框内容会显示在文本框中。
二、案例实现
import java.awt.*; import java.awt.event.*; import javax.swing.*;
public class Example18 extends JFrame {
private JComboBox comboBox; // 定义一个JComboBox组合框 private JTextField field; // 定义一个JTextField文本框 public Example18() {
JPanel panel = new JPanel(); // 创建JPanel面板 comboBox = new JComboBox(); // 为组合框添加选项
comboBox.addItem(\请选择城市\comboBox.addItem(\北京\comboBox.addItem(\天津\comboBox.addItem(\南京\comboBox.addItem(\上海\comboBox.addItem(\重庆\// 为组合框添加事件监听器
comboBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String item = (String) comboBox.getSelectedItem(); if (\请选择城市\
field.setText(\
35