0
您好我已經創建了示例progeam,它將給出確認對話框的相同外觀和感覺,並將背景顏色設置爲紅色。 但我不知道是什麼問題,我的背景顏色的選項顯示爲默認顏色,但不是紅色。我也需要在所有平臺上確認對話的外觀和感覺。無法更改JOptionPane的背景顏色
這是我寫的代碼。請幫我解決這個問題
公共類JOptionPaneBackground {
public static void main(String[] args) throws Exception {
// UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
UIDefaults uiDefaults = UIManager.getLookAndFeelDefaults();
List<Object> keys = new ArrayList<Object>(uiDefaults.keySet());
Collections.sort(keys, new Comparator<Object>() {
public int compare(Object o1, Object o2) {
return (o1.toString()).compareTo(o2.toString());
}
});
for (Object key : keys) {
System.out.println(String.format("%-40s = %s", key, uiDefaults.get(key)));
}
UIManager.put("OptionPane.background", Color.red);
UIManager.put("Panel.background", Color.red);
JOptionPane.showConfirmDialog(null, "Hello World!");
}
}
嗨Prachi thatnks您的快速反應。很高興得到你的回覆。在我的代碼中,如果我評論UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); 那麼我的程序工作正常,但不會給所有平臺相同的外觀和感覺。但我希望跨平臺的外觀和感覺並設置背景顏色這兩種東西 – 2010-04-12 05:18:33
您使用的是哪個版本的Java?我剛剛在1.5上試過你的代碼,它適用於我。因爲我猜測這只是爲了測試,所以我沒有註釋掉顯示所有首選項的代碼部分。 – Prachi 2010-04-12 18:00:24
我正在使用Java 1.6 – 2010-04-13 06:13:26