你有沒有人知道爲什麼我的JMenuBar menuBar
沒有顯示出來? 我正在使用JFrame
和JPanel
。JMenuBar沒有顯示
我的課程擴展了JPanel
並且有一個paint
方法被繼承(已經用super.paint(g)
)。
我想顯示一些JLabels
和JTextFields
我JMenuBar
(我知道這不是它的目的)
這裏是我的代碼:
public void createMenuBar(){
menuBar = new JMenuBar();
menuBar.setBounds(0,0,1463,29);
menuBar.setLayout(null);
this.add(menuBar);
ipLbl = new JLabel("IP-Adresse:");
ipLbl.setBounds(5,2,150,25);
ipLbl.setLabelFor(ip);
menuBar.add(ipLbl);
ip = new JTextField();
ip.setBounds(150,2,100,25);
menuBar.add(ip);
}
我打電話創建JFrame後,這種方法,但在做setVisible(true)
之前。
看:
public IceHockey(){
try {
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
} catch (Exception e){}
fenster = new JFrame("IceHockey");
fenster.setSize(1479, 941);
fenster.setLayout(null);
fenster.addKeyListener(this);
fenster.addMouseListener(this);
fenster.setResizable(false);
fenster.setLocationRelativeTo(null);
fenster.setContentPane(this);
this.addKeyListener(this);
this.addMouseListener(this);
createMenuBar();
fenster.setVisible(true);
fenster.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
}
**別t使用空佈局!!! **。這已經在你之前的帖子中提到過了:http://stackoverflow.com/questions/36751366/some-swing-components-not-showing-on-jframe。注意建議。我們給他們一個理由。閱讀關於[如何使用菜單]的Swing教程(http://docs.oracle.com/javase/tutorial/uiswing/components/menu.html)作爲示例。該代碼還將告訴你如何更好地構建你的課堂。 – camickr
camickr我知道,但這個程序只適用於我,甚至我的老師在學校告訴我們,我們可以使用null佈局。所以這取決於我使用的是什麼!此外,null佈局非常簡單易用! –
'此外,null佈局非常簡單易用! ' - 不,不是。你完全不知道一個組件應該多大才能正確顯示。對隨機數進行硬編碼是浪費時間,並且只會在未來造成問題,尤其是在需要進行更改時。簡單的事情,如更改字體將導致問題。只是因爲你可以做點什麼並不意味着你應該這樣做。學習正確使用Swing!你甚至還沒有學過Swing的基礎知識(或者你不會問這個問題),所以你不知道什麼是或不是很容易。這只是來自經驗。 – camickr