java - 复选框问题
问题描述
我目前正在自己学习 gui,我在使用 JCheckBox 时遇到了麻烦。我怎样才能只做一个答案标记?目前,我可以标记两个答案。最理想的是用户一次只能选择一个选项,如果他选择另一个选项,它会删除第一个选项。有人可以帮忙吗?谢谢!
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class CheckBoxTry
{
JCheckBox show1,show2;
JLabel label1, label2;
private JFrame jf;
public CheckBoxTry(){
jf= new JFrame();
jf.setSize(300,300);
jf.setVisible(true);
jf.setLayout(new GridLayout(2,2));
label1= new JLabel("");
jf.add(label1);
label2= new JLabel("");
jf.add(label2);
show1=new JCheckBox("show1");
show2=new JCheckBox("show2");
jf.add(show1);
jf.add(show2);
event e= new event();
show1.addItemListener(e);
show2.addItemListener(e);
}
public class event implements ItemListener{
public void itemStateChanged (ItemEvent e){
if (show1.isSelected())
{
label1.setText("1 selected");
}else{
label1.setText("");
}
if (show2.isSelected())
{
label2.setText("2 selected");
}else{
label2.setText("");
}
}
}
public static void main(String[] args)
{
CheckBoxTry as= new CheckBoxTry();
}
}
解决方案
最理想的是用户一次只能选择一个选项
您应该JRadioButton
为此而不是 JCheckBox。
然后将每个添加JRadioButton
到 aButtonGroup
中,ButtonGroup
将确保只选择一个按钮。
阅读 Swing 教程中有关如何使用单选按钮的部分以获取更多信息和工作示例。
推荐阅读
- r - 当我在 R 中使用 Rcpp 时,包含 boost 的编译错误
- nginx - 用于 SEO 的 nginx 条件预渲染页面(if + try_files)
- android - Android 媒体播放器、数据源 api、三星 s8+
- android - Android 启动画面显示在系统栏后面
- glsl - GLSL 问题:坐标偏移和后退在不同的机器上产生不同的结果
- c++ - 中间部分不同的两个功能如何组织
- angular - 使用弹性座椅和角度 4 出现“找不到 geo_point 字段 [pin.location]”错误
- c++ - c++ 程序返回对象的一半
- java - 字符串类拆分功能正在返回 abigious 结果
- r - 检查 R 代码中的哪一行/函数在函数中花费的时间最多?