8

当我的程序中发生某些事情时,我使用单个JCheckBox作为不可编辑的指示器。现在我有这个:

public void update(Observable o, Object arg) {
    try {

        if (Controller.c.turn.equals(this)) {
            tp.turnCheckBox.setBorderPainted(true);
        }
        else {
            tp.turnCheckBox.setBorderPainted(false);
        }
    } catch (Exception e) {
    }

基本上,而不是画turnCheckBox边框......我想在里面打一个复选标记。看起来这将是一个简单的预制方法,也许我错过了一些东西,但我无法让它发生。

4

3 回答 3

26

使用tp.turnCheckBox.setSelected (boolean isSelected)将选中(或取消选中)复选框。

于 2011-12-07T20:07:44.647 回答
8

要在“只读”模式下使用复选框,请使用:

tp.turnCheckBox.setEnabled(false);

要使复选框显示为选中或未选中,请使用:

tp.turnCheckBox.setSelected(isSelected);

其中 isSelected 是一个布尔表达式,它指示控件是否被选中。

于 2011-12-07T20:10:41.227 回答
5

JCheckBox 有一个来自其超类 setSelected() 的方法。为了您将来的知识和搜索,在具有这些组件的 Api 中,通常有一个超类链,您可以搜索这些方法。

JCheckBox 必须上 2 个级别的类到 AbstractButton 才能找到 setSelected() 方法。

有时,查找此类内容的最快方法就是使用 IDE 的自动完成功能。

于 2011-12-07T20:13:59.857 回答