Java摇摆 |带有示例的 JCheckBox
JCheckBox 是Java Swing 包的一部分。 JCheckBox 可以被选中或取消选中。它向用户显示它的状态。 JCheckBox 是 checkbox 的一个实现。 JCheckBox 继承了 JToggleButton 类。
该类的构造函数是:
- JCheckBox() :创建一个没有文本或图标的新复选框
- JCheckBox(Icon i) : 创建一个带有指定图标的新复选框
- JCheckBox(Icon icon, boolean s) :创建一个带有指定图标的新复选框,布尔值指定它是否被选中。
- JCheckBox(String t) :创建一个带有指定字符串的新复选框
- JCheckBox(String text, boolean selected) :使用指定的字符串创建一个新的复选框,布尔值指定它是否被选中。
- JCheckBox(String text, Icon icon) :使用指定的字符串和图标创建一个新的复选框。
- JCheckBox(String text, Icon icon, boolean selected) :创建一个带有字符串和指定图标的新复选框,布尔值指定它是否被选中。
将项目侦听器添加到复选框的方法。
- addActionListener(ItemListener l) : 向组件添加项目监听器
- itemStateChanged(ItemEvent e) : 当应用监听器的项目状态改变时调用的抽象函数
- getItem() :返回与状态已更改的项目关联的组件特定对象
- getStateChange() :返回项目的新状态。 ItemEvent 类定义了两种状态:SELECTED 和 DESELECTED。
- getSource() :返回触发项目事件的组件。
常用方法:
- setIcon(Icon i) :将复选框的图标设置为给定的图标
- setText(String s) :将复选框的文本设置为给定的文本
- setSelected(boolean b) :如果传递的布尔值为真,则将复选框设置为选中,反之亦然
- getIcon() :返回复选框的图像
- getText() :返回复选框的文本
- updateUI() :使用当前外观的值重置 UI 属性。
- getUI() :返回呈现此组件的外观对象。
- paramString() :返回此 JCheckBox 的字符串表示形式。
- getUIClassID() :返回呈现此组件的外观类的名称。
- getAccessibleContext() :获取与此 JCheckBox 关联的 AccessibleContext。
- isBorderPaintedFlat() :获取borderPaintedFlat 属性的值。
- setBorderPaintedFlat(boolean b) :设置borderPaintedFlat属性,
以下程序将说明 JCheckBox 的使用
1. 使用 JCheckBox 创建简单复选框的程序
// java Program to create a simple checkbox using JCheckBox
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// set layout of frame
f.setLayout(new FlowLayout());
// create checkbox
JCheckBox c1 = new JCheckBox("checkbox 1");
JCheckBox c2 = new JCheckBox("checkbox 2");
// create a new panel
JPanel p = new JPanel();
// add checkbox to panel
p.add(c1);
p.add(c2);
// add panel to frame
f.add(p);
// set the size of frame
f.setSize(300, 300);
f.show();
}
}
输出 :
2. 程序创建一个带有图标的复选框。
// java Program to create a checkbox with a icon .
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame {
// frame
static JFrame f;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// set layout of frame
f.setLayout(new FlowLayout());
// create checkbox
JCheckBox c1 = new JCheckBox("checkbox with image", new ImageIcon("f:/gfg.jpg"), true);
JCheckBox c2 = new JCheckBox("checkbox 2");
// create a new panel
JPanel p = new JPanel();
// add checkbox to panel
p.add(c1);
p.add(c2);
// add panel to frame
f.add(p);
// set the size of frame
f.setSize(300, 300);
f.show();
}
}
输出 :
3. 程序创建一个复选框和 ItemListener。
// java Program to create a checkbox and ItemListener to it.
import java.awt.event.*;
import java.awt.*;
import javax.swing.*;
class solve extends JFrame implements ItemListener {
// frame
static JFrame f;
// label
static JLabel l, l1;
// checkbox
static JCheckBox c1, c2;
// main class
public static void main(String[] args)
{
// create a new frame
f = new JFrame("frame");
// create a object
solve s = new solve();
// set layout of frame
f.setLayout(new FlowLayout());
// create checkbox
c1 = new JCheckBox("geeksforgeeks", new ImageIcon("f:/gfg.jpg"), false);
c2 = new JCheckBox("checkbox 2", false);
// add ItemListener
c1.addItemListener(s);
c2.addItemListener(s);
// create labels
l = new JLabel("geeksforgeeks not selected");
l1 = new JLabel("checkbox2 not selected");
// set color of text
l.setForeground(Color.red);
l1.setForeground(Color.blue);
// create a new panel
JPanel p = new JPanel();
// add checkbox to panel
p.add(c1);
p.add(c2);
p.add(l);
p.add(l1);
// add panel to frame
f.add(p);
// set the size of frame
f.setSize(600, 300);
f.show();
}
public void itemStateChanged(ItemEvent e)
{
// if the state of checkbox1 is changed
if (e.getSource() == c1) {
if (e.getStateChange() == 1)
l.setText("geeksforgeeks selected");
else
l.setText("geeksforgeeks not selected");
}
// if the state of checkbox2 is changed
else {
if (e.getStateChange() == 1)
l1.setText("checkbox 2 selected");
else
l1.setText("checkbox 2 not selected");
}
}
}
输出 :
注意:以上程序可能无法在在线编译器中运行,请使用离线 IDE