2014-12-05 26 views
2

我在設置JMenuBar的字體時遇到問題。我個人不喜歡用粗體字標出的Java框架默認情況下使用,所以我試圖用這樣的事情來改變它:更改JMenuBar的字體

public class MyFrame extends javax.swing.JFrame { 
    public MyFrame() { 
     JMenuBar menuBar = new JMenuBar(); 
     menuBar.setFont(new Font("sans-serif", Font.PLAIN, 12)); 
     setJMenuBar(menuBar); 
     setSize(600, 400); 

     // add some menus to the menu bar 
     menuBar.add(new JMenu("Foo")); 
     menuBar.add(new JMenu("Bar")); 
     menuBar.add(new JMenu("Baz")); 
     menuBar.add(new JMenu("Qux")); 

     setVisible(true); 
    } 
} 

據我知道,行menuBar.setFont(...)設置由所使用的字體組件menuBar。但是當我實例化其中一個框架時,默認字體根本沒有改變,即使我將字體大小設置爲30.

我很感激任何關於此的幫助。

+3

你嘗試改變字體每個JMenu的?你也可以更改uidefaults – nachokk 2014-12-05 14:34:39

+0

@nachokk哦天哪。我是個白癡。謝謝。 – mezzodrinker 2014-12-05 14:35:38

回答

6

你可以嘗試設置字體爲每個JMenu對象或更改默認:

Font f = new Font("sans-serif", Font.PLAIN, 12); 
UIManager.put("Menu.font", f); 
+0

那麼用UIManager'''設置所有'''JMenuItem''''字體的方法是什麼? – mezzodrinker 2014-12-05 14:41:12

+1

@ flashdrive2049 UIManager.put(「MenuItem.font」,f); – whiskeyspider 2014-12-05 14:42:22

+0

我本來可以猜到的。不管怎麼說,還是要謝謝你。 – mezzodrinker 2014-12-05 14:42:52