我想在我的項目中設置JMenu前景色。 我使用UIManager.put(「text」,Color.RED)它適用於所有文本,但在JMenu文本中顏色不變。如何使用UIManager設置JMenu前景色
我想設置JMenu.setForeground( 「Color.RED」)工作,但UIManager.put( 「Menu.foreground」,Color.RED)不填充顏色。 所以請幫助我下面的代碼。
import java.awt.Color;
import javax.swing.UIManager;
public class Frame extends javax.swing.JFrame {
public Frame() {
setExtendedState(Frame.MAXIMIZED_BOTH);
setTitle("MENU COLOR");
initComponents();
}
private void initComponents() {
menu_bar = new javax.swing.JMenuBar();
jMenu1 = new javax.swing.JMenu();
jMenu1.setText("File");
jMenu1.setFont(new java.awt.Font("URW Bookman L", 0, 18));
jMenu1.setPreferredSize(new java.awt.Dimension(45, 25));
jMenu1.setForeground(Color.RED);
menu_bar.add(jMenu1);
setJMenuBar(menu_bar);
pack();
}
public static void main(String args[]) {
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager
.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
UIManager.put("Menu.foreground", Color.RED);
break;
}
}
} catch (Exception ex) {
ex.printStackStrace();
}
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Frame().setVisible(true);
}
});
}
private javax.swing.JMenu jMenu1;
private javax.swing.JMenuBar menu_bar;
}
感謝您閱讀
應該使用Menu.background,但這似乎不適用於我。好問題 – 2014-09-19 07:49:37
我只做了'jMenu1.setForeground(Color.RED);'它工作正常。文件菜單文字設置爲紅色。 – codebot 2014-09-19 08:29:33
是的,但我想要使用** UIManager.put(「Menu.foreground」,Color.RED)** this爲JMenu設置的前景色。 – 2014-09-19 08:37:36