假设您有一个 JCheckBox 想要用作开/关指示器。您使用 setEnabled(false) 禁用鼠标点击 JCheckBox 。但是 setEnabled(false) 也会使 checkBox 和 checkBox 的文本变灰。有没有办法自定义 setEnabled(false) 以便不会发生变灰?

如果这是不可能的,那么定制 ButtonModel 的唯一解决方案是什么?

最佳答案

您可以继承 JCheckBox 并覆盖 processMouseEvent/processKeyEvent 以不执行任何操作。

public class ReadOnlyCheckBox extends JCheckBox {
    public ReadOnlyCheckBox (String text, boolean selected) {
        super(text,selected);
    }

    protected void processKeyEvent(KeyEvent e) {
    }

    protected void processMouseEvent(MouseEvent e) {

    }
}

关于java - 有没有办法自定义 Java 的 setEnabled(false)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4924294/

10-11 03:45