[英]Cannot move JMenu to JMenuBar
我試圖將菜單結構從JMenu移到JMenuBar。 上面的代碼根據TEST顯示了不同的菜單。 對於TEST == 1,我希望菜單欄中有aa bb,但僅顯示aa? 代碼顯示了問題,這不是我的真實代碼....
public class Test {
public static void main(String[] args) {
int TEST = 1; // or 2
JMenu menu = new JMenu("a");
JMenu menu2 = new JMenu("aa");
menu.add(menu2);
menu2 = new JMenu("bb");
menu.add(menu2);
JMenuBar mbar = new JMenuBar();
if (TEST == 1) {
for (int i = 0; i < menu.getItemCount(); i++) {
mbar.add(menu.getItem(i));
}
}
if (TEST == 2) {
mbar = new JMenuBar();
mbar.add(menu);
}
JFrame frame = new JFrame();
frame.setJMenuBar(mbar);
frame.setSize(400, 200);
frame.setVisible(true);
}
}
呵呵,棘手的一個。 通過執行
mbar.add(menu.getItem(i));
您剛剛添加到mbar
menu
將從menu
刪除。 在下一次迭代中, menu.getItemCount()
返回1
並且for
循環結束。 這將工作:
if (TEST == 1) {
int m = menu.getItemCount();
for (int i = 0; i < m; i++) {
mbar.add(menu.getItem(0));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.