日期:2014-05-20  浏览次数:20631 次

求助:swing 相关
Swing 的 JCheckBox 如何实现三种选中状态,即不选中、选中、半选。
如下图这样的。


多谢!!
swing 求助 JCheckBox

------解决方案--------------------
jide的开源库 jide common layer 提供了 com.jidesoft.swing.TristateCheckBox 类:

TristateCheckBox checkBox = new TristateCheckBox("Tristate Check Box");
checkBox.setState(TristateCheckBox.STATE_MIXED);
checkBox.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int state = checkBox.getState();
switch (state) {
case TristateCheckBox.STATE_MIXED:
// mixed state
break;
case TristateCheckBox.STATE_UNSELECTED:
// unselected state
break;
case TristateCheckBox.STATE_SELECTED:
// selected state
break;
}
}
});