如何在 JOptionPane
中设置文本背景颜色?
图片:
UIManager UI = new UIManager();
UI.put("OptionPane.background", Color.white);
UIManager.put("Button.background", Color.white);
UI.put("Panel.background", Color.white);
UI.put("OptionPane.foreground", Color.white);
UI.put("OptionPane.messagebackground", Color.white);
UI.put("OptionPane.textbackground", Color.white);
UI.put("OptionPane.warningDialog.titlePane.shadow", Color.white);
UI.put("OptionPane.warningDialog.border.background", Color.white);
UI.put("OptionPane.warningDialog.titlePane.background", Color.white);
UI.put("OptionPane.warningDialog.titlePane.foreground", Color.white);
UI.put("OptionPane.questionDialog.border.background", Color.white);
UI.put("OptionPane.questionDialog.titlePane.background", Color.white);
UI.put("OptionPane.questionDialog.titlePane.foreground", Color.white);
UI.put("OptionPane.questionDialog.titlePane.shadow", Color.white);
UI.put("OptionPane.messageForeground", Color.white);
UI.put("OptionPane.foreground", Color.white);
UI.put("OptionPane.errorDialog.border.background", Color.white);
UI.put("OptionPane.errorDialog.titlePane.background", Color.white);
UI.put("OptionPane.errorDialog.titlePane.foreground", Color.white);
UI.put("OptionPane.errorDialog.titlePane.shadow", Color.white);
JOptionPane.showMessageDialog(null, "Hello world", "HELLO WORLD", JOptionPane.INFORMATION_MESSAGE);
最佳答案
为什么不简单地在这个地方添加一个自定义的JPanel
,如下所示:
JOptionPane.showMessageDialog(frame, getLabelPanel(), "Hello World!",
JOptionPane.INFORMATION_MESSAGE);
您可以从方法中获取 JPanel
,例如:
private JPanel getLabelPanel() {
JPanel panel = new JPanel();
panel.setOpaque(true);
panel.setBackground(Color.BLUE);
JLabel helloLabel = new JLabel("Hello World!", JLabel.CENTER);
helloLabel.setForeground(Color.WHITE);
panel.add(helloLabel);
return panel;
}
输出:
更新 1:
否则你可以试试这个来改变一切,
uimanager.put("OptionPane.background", Color.BLUE);
uimanager.put("OptionPane.messagebackground", Color.BLUE);
uimanager.put("Panel.background", Color.BLUE);
更新输出:
关于java - 设置文本背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17920182/