我当前的java版本是:
$java -version
java version 1.8.0_40
我对 swing 很陌生,正在尝试编写我的第一个扫雷应用程序。现在,我需要在单击按钮时禁用该按钮并打印许多相邻的地雷(根据数字使用适当的文本颜色:1-蓝色、2-绿色、3-红色等)。正如 this answer 中所建议的那样我写了以下内容:
JFrame frame = new JFrame("Hello swing");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
JButton button = new JButton();
button.addActionListener((ActionEvent ev) -> {
button.setSelected(true);
button.setText("<html><font color = red>3</font></html>");
button.setEnabled(false); });
但是禁用时它仍然变灰:
但是启用的按钮看起来就像我想要的那样:
遇到这个问题该怎么办?如何通过禁用按钮来解决此问题?
最佳答案
Maybe you know some workarounds
使用图标而不是文本。
然后你可以使用:
JButton button = new JButton( icon3 );
button.setDisabledIcon( icon3 );
关于java - 禁用按钮时如何阻止文本变灰?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36652457/