Im的空間嘗試添加按鈕和文本框到我的JMenuBar,甚至之後我設置了JTextField的首選大小,JTextField的不斷在我的JMenuBar填充的空間。JTextField中保持充盈的JMenuBar
注意:這是的JMenuBar使用此方法添加 -
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
}
的代碼可以讓我在一個JPanel添加的JMenuBar。
現在到JMenuBar的代碼。
JMenuBar x = jMenuBar1;
x.removeAll();
JTextField searchBar = txtsearch;
JTextField searchBar2 = new JTextField();
searchBar2.setPreferredSize(new Dimension(10,20));
x.add(lblsearch);
x.add(searchBar);
x.add(btnSearch);
x.add(Box.createHorizontalGlue());
x.add(searchBar2);
注:jMenuBar1
,lblsearch
,txtsearch
和btnSearch
使用NetBeans中創建的。
爲了測試這個,我添加了另一個名爲searchBar2
的JTextField並設置了首選大小,但是即使在我添加了Box Glue之後,它們仍然佔用了JMenuBar中留下的空間。
任何想法,爲什麼?