我为我的程序制作了一个 gui 并使用了
UIManager.put("Button.background", new Color(0,0,0));
UIManager.put("JButton.background", new Color(0,0,0));
使按钮显示为黑色。不幸的是,这有时不起作用。在不修改代码的情况下,它会在我运行一次时运行,而在另一次运行时不会运行。
下图是我多次运行后同一个程序中的同一个按钮。在我运行程序的 4 次中,这种情况大约有 1 次发生。
(左边的按钮是正确的,右边的按钮是运行时有时会发生的)
另外,其他的东西,比如
UIManager.put("control", new Color(15,0,0));
正在正确加载。从来没有遇到过问题,它是同时以相同的格式加载的。
编辑:这是一个示例代码,其中按钮颜色根本没有加载,而背景和其他东西是。它们以完全相同的方式加载,并且没有编译或运行错误。
import java.awt.*;
import javax.swing.*;
import javax.swing.UIManager.*;
public class gtst
{
public static void main(String[] args) throws Exception
{
UIManager.put("Button.background", new Color(1,1,1));
UIManager.put("JButton.background", new Color(1,1,1));
UIManager.put("control", new Color(0,0,0));
UIManager.put("text", new Color(255,220,0));
Frame batFrame = new JFrame("nananananna Batman!");
for (LookAndFeelInfo info : UIManager.getInstalledLookAndFeels())
{
if ("Nimbus".equals(info.getName())) {
UIManager.setLookAndFeel(info.getClassName());
break;
}
}
String username = JOptionPane.showInputDialog(batFrame, "Enter something...:");
}
}