java 中禁用按钮时如何消除视觉效果

how to get rid of visual effect when disabling buttons in java

当我将按钮设置为禁用时:

jButton.setEnabled(false);

然后在第二个元素上可以看到这种视觉效果 ->

如何禁用按钮,但保持第一个元素的外观?

how to get rid of visual effect when disabling buttons

公司花费数百万美元开发出一种UI罐头是通用的,所有用户都可以使用。

如果没有视觉指示,用户怎么知道按钮被禁用了?

总之,(吐槽完毕)你可以手动设置禁用图标:

button.setDisabledIcon( button.getIcon());

如果您碰巧在按钮上也有文字,该文字仍将被禁用,因此您可以使用自定义 ButtonModel 而不是禁用图标:

button.setModel( new DefaultButtonModel()
{
    @Override
    public boolean isArmed()
    {
        return false;
    }

    @Override
    public boolean isPressed()
    {
        return false;
    }
});