JCheckBox 上的第三个选项?
Third option on JCheckBox?
当我使用像 Eclipse 或 Word 这样的应用程序时,我偶尔会看到既未选中也未取消选中的 JCheckBox - 它有一种 'minus' 图标:
这是什么意思?它是否有目的,如果有,我如何在 Java 中实现它?
通常,这种复选框用于树视图(包含复选框子集的复选框)以指示它已被部分 selected。
例如,当您在 Android Studio 的 SDK 页面中时,您有一堆不同版本的 SDK 的复选框,每个版本由源、构建工具、等。当您 select 版本中的所有元素时,该版本的复选框将有一个正常的勾号,但是如果您 select 仅版本中的源,该版本的复选框将是减号或其他一些图标。当有可选功能(如 Notepad++ 和许多其他功能)时,您也可以在安装程序中找到它。
至于在 Java 中实现它,我认为 Swing 中没有任何内置解决方案,您要么必须像 camickr 放的 post 中那样自己编写在评论中,否则您将不得不使用其他库,例如 JavaFX 或其他第三方库。
我认为 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);
}
}
});
当我使用像 Eclipse 或 Word 这样的应用程序时,我偶尔会看到既未选中也未取消选中的 JCheckBox - 它有一种 'minus' 图标:
这是什么意思?它是否有目的,如果有,我如何在 Java 中实现它?
通常,这种复选框用于树视图(包含复选框子集的复选框)以指示它已被部分 selected。
例如,当您在 Android Studio 的 SDK 页面中时,您有一堆不同版本的 SDK 的复选框,每个版本由源、构建工具、等。当您 select 版本中的所有元素时,该版本的复选框将有一个正常的勾号,但是如果您 select 仅版本中的源,该版本的复选框将是减号或其他一些图标。当有可选功能(如 Notepad++ 和许多其他功能)时,您也可以在安装程序中找到它。
至于在 Java 中实现它,我认为 Swing 中没有任何内置解决方案,您要么必须像 camickr 放的 post 中那样自己编写在评论中,否则您将不得不使用其他库,例如 JavaFX 或其他第三方库。
我认为 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);
}
}
});