我有一個JMenuBar和一個JPanel。我想將JMenuBar添加到JPanel。我會怎麼做?將JMenuBar添加到JPanel?
12
A
回答
13
您可以使用您的JPanel一個BorderLayout,把JMenuBar的到面板的北部地區與
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(menubar, BorderLayout.NORTH);
JMenuBar的是一個JComponent,可以添加到一個容器像任何其他JComponent的。
4
使用setJMenuBar方法將JMenuBars設置爲JFrame。
有關如何使用它們,請參閱以下教程。
http://download.oracle.com/javase/tutorial/uiswing/components/menu.html
0
我也試過,但JMenuItem
與Jmenu
和JmenuBar
未被添加到JPanel
。 但是,如果您將JFrame
的佈局聲明爲空,那麼可以使用setBounds(x, y, width, height)
的JMenuBar
實例,然後將菜單欄添加到JFrame
。
0
嘗試在您的面板上放置一個jDesktopPane,然後添加一個菜單欄。我在下面的示例中使用了選項卡式窗格,但它對於面板應該是一樣的。
JDesktopPane desktopPane = new JDesktopPane();
tabbedPane.addTab("New tab", null, desktopPane, null);
JMenuBar menuBar_1 = new JMenuBar();
menuBar_1.setBounds(0, 0, 441, 21);
desktopPane.add(menuBar_1);
0
我有另一種解決方案,雖然你必須添加JMenuBar在NetBeans中的「其他組件」(足夠好)。創建一個JPanel,然後添加另一個JPanel(稱爲它的子節點),填充整個outter JPanel。將您的控件放置在子面板中。然後添加JMenuBar,但NetBeans將它放在「其他組件」中。編輯源,並在構造函數調用後「的initComponents」的地方,這個函數的調用:
public static void setJPanelMenuBar(JPanel parent, JPanel child, JMenuBar menuBar) {
parent.removeAll();
parent.setLayout(new BorderLayout());
JRootPane root = new JRootPane();
parent.add(root, BorderLayout.CENTER);
root.setJMenuBar(menuBar);
root.getContentPane().add(child);
parent.putClientProperty("root", root); //if you need later
}
例如,您的構造函數可能是這樣的:
public MyPanel() {
initComponents();
setJPanelMenuBar(this, child, myMenuBar);
}
爲我工作。通過查看JInternalFrame源代碼獲得了這個想法。它所做的只是用JRootPane()替換子JPanel,然後將子項放入根窗格的內容窗格中。
相關問題
- 1. 將JMenuBar添加到Flamingo JRibbonFrame?
- 2. 是否可以移動JMenuBar而不將其添加到JPanel中
- 3. 如何將JMenus動態添加到JMenuBar
- 4. 如何將Jmenubar添加到mouseclick程序?
- 5. 如何添加JPopupMenu到JMenuBar?
- 6. 將Jpanel添加到JFrame?
- 7. 將JPanel添加到JFrame中
- 8. 將JPanel添加到JList?
- 9. 將組件添加到JPanel
- 10. 將JFXPanel添加到JPanel
- 11. 將JPanel添加到Canvas
- 12. 將組件添加到JPanel
- 13. 將ButtonGroup添加到JPanel
- 14. 將按鈕添加到JPanel
- 15. 將JScrollPane添加到JPanel?
- 16. 將path2d添加到jpanel
- 17. 將JScrollPane添加到JPanel
- 18. 將JDesktopPane添加到JPanel
- 19. 將JButton添加到JPanel
- 20. 將元素添加到JPanel
- 21. 將JLayeredPane添加到JPanel
- 22. 將jpanel添加到jframe
- 23. 將圖形添加到JPanel
- 24. 將JLabel添加到JPanel
- 25. 將JList添加到JPanel
- 26. 將JPanel添加到JScrollPane
- 27. 將JMenu添加到JPanel
- 28. 將JApplet添加到JPanel
- 29. 將對象添加到Jpanel
- 30. 將actionlistener添加到jpanel
我以爲只能將JMenuBar添加到JFrame的 – Enrique 2010-11-29 00:55:08
Works中,不會允許我將它添加到最頂層但足夠接近! – Skizit 2010-11-29 12:10:04