java - 如何将额外数据存储到 Swing 复选框?

标签 java swing checkbox

在 swing 中创建复选框很容易,如下所示:

JCheckBox checkbox = new JCheckBox("hello")

问题是我还想将一些其他值与此复选框相关联,例如另一个数字,99

但是我找不到 JCheckBox 的任何方法来执行此操作,该怎么做?

最佳答案

选项 3。

你确实需要存储很多值......扩展它......

public class MySuperStoreAlotOfValuesCheckbox extends JCheckBox{
    private static final long serialVersionUID = 1L;
    private int theInt;
    ... all the values in the world...
    public MySuperStoreAlotOfValuesCheckbox(String text){
        super(text);
    }
    public MySuperStoreAlotOfValuesCheckbox(String text, int theInt){
        super(text);
        this.theInt = theInt;
    }
}

选项 4 正如 @mKorbel 在评论中建议的

checkbox.putClientProperty("myInt",99);

The clientProperty dictionary is not intended to support large scale extensions to JComponent nor should be it considered an alternative to subclassing when designing a new component.

关于java - 如何将额外数据存储到 Swing 复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33667084/

相关文章:

javascript - JSTL 复选框不起作用

c++ - Qt 5.3 : Accessing/returning/calling checkboxes that are created dynamically(? )

java - 不兼容类型 : bad return type in lambda expression?

java - SpringBoot 测试模块不在正确的类路径中搜索 log4j2 配置

java - 当选择/未选择单选按钮时如何隐藏文本字段?

java - 在 JFrame java 上写一个二维数组

java - 在 angular 9 和 spring boot 2 中请求的资源上不存在 'Access-Control-Allow-Origin' header

Linux 下的 Java RandomAccessFile.java 无法正常工作

Java多选对话框

javascript - 如果使用 Javascript 选择复选框,如何要求输入字段?