我没有为JOptionPane获得完整的背景颜色。
下面有一个输出屏幕:
http://i.stack.imgur.com/i4tvh.png
我的代码:
JFrame frame1 = new JFrame("Showing Error Message");
UIManager UI=new UIManager();
UI.put("OptionPane.background", Color.BLUE);
UI.put("OptionPane.messagebackground", Color.BLUE);
UI.put("Panel.background", Color.BLUE);
JOptionPane.showMessageDialog(frame1,errorMessage1);
答案 0 :(得分:2)
首先,UIManager的公共方法是静态的。创建UIManager的实例是不正确的,误导性的,毫无意义的。调用这些方法的正确方法是:
UIManager.put("OptionPane.background", Color.BLUE);
UIManager.put("OptionPane.messagebackground", Color.BLUE);
UIManager.put("Panel.background", Color.BLUE);
这是整个样本。
import javax.swing.event.*;
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
public class Main extends JFrame
{
public static void main(String []args) {
UIManager.put("OptionPane.background", Color.blue);
UIManager.put("Panel.background", Color.blue);
UIManager.put("Button.background", Color.white);
String value = JOptionPane.showInputDialog("Enter your name");
System.out.println("Hello " + value);
// exit awt thread
System.exit(1);
}
}
答案 1 :(得分:0)
在 nimbus 外观和感觉中,所有代码都无法使用。
解决办法是,
UIManager.put("control", new Color(0, 0, 0));
这也称为“Dark Nimbus”,将此添加到主框架的主要方法的顶部。 所以它会自动改变所有JOptionPane的背景。
而且你也不能用
改变按钮背景UIManager.put("OptionPane.buttonBackground", BLACK);
所以你应该使用,
UIManager.put("nimbusBase", new Color(0, 0, 0));
请记住 - 但不幸的是,此代码将更改您所有按钮等的背景。因此,您必须将 *.setBackground(...);
添加到所有其他对象。
如果你想改变 JOptionPane 的前景,你应该使用
UIManager.put("text", new Color(255, 255, 255));
再次不幸的是,这将改变您所有文本的前景。
这些代码都被称为暗光云。
如果您正在使用 nimbus,您可以尝试使用这些 UIManager 代码来自定义 nimbus 的外观和感觉。
UIManager.put("control", new Color(0, 0, 0));
UIManager.put("info", new Color(0, 0, 0));
UIManager.put("nimbusBase", new Color(0, 0, 0));
UIManager.put("nimbusAlertYellow", new Color(248, 187, 0));
UIManager.put("nimbusDisabledText", new Color(255, 255, 255));
UIManager.put("nimbusFocus", new Color(115, 164, 209));
UIManager.put("nimbusGreen", new Color(176, 179, 50));
UIManager.put("nimbusInfoBlue", new Color(66, 139, 221));
UIManager.put("nimbusLightBackground", new Color(0, 0, 0));
UIManager.put("nimbusOrange", new Color(191, 98, 4));
UIManager.put("nimbusRed", new Color(169, 46, 34));
UIManager.put("nimbusSelectedText", new Color(255, 255, 255));
UIManager.put("nimbusSelectionBackground", new Color(18, 134, 175));
UIManager.put("text", new Color(255, 255, 255));
你可以试试这些代码。在我的项目中,灵气看起来像
但我总是推荐使用“Flatleaf”(搜索谷歌“FlatLafLookAndFeel”或去jar.download.com“)。它是专业的,你可以自己改变。