Java Swing JCheckBox
2018-01-09 19:23 更新
Java Swing教程 - Java Swing JCheckBox
JCheckBox有两个状态:selected和unselected。
当我们需要用户做出多个选择时,使用一组JCheckBoxes。
我们可以使用一个Action对象,一个字符串标签,图标和布尔标志,以指示是否默认选择创建JCheckbox。
创建没有标签和没有图像的JCheckBox
JCheckBox cb1 = new JCheckBox();
创建JCheckBox文本为“我的选择"
JCheckBox cb2 = new JCheckBox("My Choice");
创建JCheckBox文本为“我的选择",并默认选择
JCheckBox cb3 = new JCheckBox("My Choice", true);
要选择/取消选择JCheckBox,请调用setSelected()方法。
要检查是否被选中,请使用它们的isSelected()方法。
以下代码显示如何使用这些方法:
tb3.setSelected(true); // Select tb3 boolean b1 = tb3.isSelected(); // will store true in b1 tb3.setSelected(false); // Unselect tb3 boolean b2 = tb3.isSelected(); // will store false in b2
ActionListener
使用ActionListener侦听JCheckBox事件
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
//from w w w. j a v a 2 s . co m
import javax.swing.AbstractButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
public class Main {
public static void main(String args[]) {
JFrame frame = new JFrame("Iconizing CheckBox");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JCheckBox aCheckBox4 = new JCheckBox("Stuffed Crust");
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent actionEvent) {
AbstractButton abstractButton = (AbstractButton) actionEvent.getSource();
boolean selected = abstractButton.getModel().isSelected();
System.out.println(selected);
// abstractButton.setText(newLabel);
}
};
aCheckBox4.addActionListener(actionListener);
frame.add(aCheckBox4);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
ActionListener...
使用ItemListener监听JCheckBox事件
import java.awt.Color;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
/* w w w . j a v a 2 s . com*/
import javax.swing.AbstractButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
public class JCheckBoxItemListener {
public static void main(String args[]) {
JFrame frame = new JFrame("Iconizing CheckBox");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JCheckBox aCheckBox4 = new JCheckBox("Stuffed Crust");
ItemListener itemListener = new ItemListener() {
public void itemStateChanged(ItemEvent itemEvent) {
AbstractButton abstractButton = (AbstractButton)itemEvent.getSource();
Color foreground = abstractButton.getForeground();
Color background = abstractButton.getBackground();
int state = itemEvent.getStateChange();
if (state == ItemEvent.SELECTED) {
abstractButton.setForeground(background);
abstractButton.setBackground(foreground);
}
}
};
aCheckBox4.addItemListener(itemListener);
frame.add(aCheckBox4);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
ChangeListener
使用ChangeListener监听JCheckBox事件:听取布防,按下,选择或释放状态
import javax.swing.AbstractButton;
import javax.swing.ButtonModel;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/* ww w . j av a 2 s. co m*/
public class Main {
public static void main(String args[]) {
JFrame frame = new JFrame("Iconizing CheckBox");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JCheckBox aCheckBox4 = new JCheckBox("Stuffed Crust");
// Define ChangeListener
ChangeListener changeListener = new ChangeListener() {
public void stateChanged(ChangeEvent changeEvent) {
AbstractButton abstractButton =
(AbstractButton)changeEvent.getSource();
ButtonModel buttonModel = abstractButton.getModel();
boolean armed = buttonModel.isArmed();
boolean pressed = buttonModel.isPressed();
boolean selected = buttonModel.isSelected();
System.out.println("Changed: " + armed + "/" + pressed + "/" +
selected);
}
};
aCheckBox4.addChangeListener(changeListener);
frame.add(aCheckBox4);
frame.setSize(300, 200);
frame.setVisible(true);
}
}
上面的代码生成以下结果。
以上内容是否对您有帮助:

免费 AI IDE


更多建议: