JCheckBox上的第三个选项?

时间:2016-05-31 03:14:02

标签: java swing jcheckbox

当我使用像Eclipse或Word这样的应用程序时,我偶尔会看到一个既未被选中也未被取消选择的JCheckBox-它有一种“减去”字样。图标: An example of this box in Microsoft Word

这是什么意思?是否有目的,如果有,我如何在Java中实现它?

2 个答案:

答案 0 :(得分:0)

通常,这种复选框用于树视图(包含复选框子集的复选框)以指示它已被部分选中。

例如,当您在Android Studio的SDK页面中时,您有一堆用于SDK的不同版本的复选框,每个版本都由源,构建工具等组成。当您选择全部版本中的元素,版本的复选框将有正常的勾选,但是如果您只选择版本中的源,则该版本的复选框将是减号或其他一些图标。当有可选功能时,您也可以在安装程序中找到它,例如Notepad ++和许多其他功能。

至于在Java中实现它,我不认为Swing中有任何内置的解决方案,你要么自己编写,就像在评论中放入的post那样,或者您将不得不使用其他库,如JavaFX或其他第三方。

答案 1 :(得分:0)

我认为不支持Swing来构建UI。但是这段代码具有相同的功能。检查一下:

    myCheckBox.addItemListener(new ItemListener() {
        public void itemStateChanged(ItemEvent e) {
            if (e.getStateChange() == ItemEvent.SELECTED) {
                //Check all Checkbox below
                childCheckbox1.setSelected(true);
                childCheckbox2.setSelected(true);
            } else {
                //Uncheck all Checkbox below
                childCheckbox1.setSelected(false);
                childCheckbox2.setSelected(false);
            }
        }
    });