我正在尝试将JPopupMenu
(右键单击)添加到一个复选框数组中,并按以下方式执行:
JPanel Pane = new JPanel();
Pane.setLayout(new BoxLayout(Pane, BoxLayout.PAGE_AXIS));
m_popMenu = new JPopupMenu();
JMenuItem item = new JMenuItem("Setup");
item.addActionListener(this);
m_popMenu.add(item);
for (int k = 0; k < 5; k++) {
checkBoxes[k] = new JCheckBox(List[k]); //in List i have names for CheckBoxes
checkBoxes[k].addActionListener(this);
//For popupmenu item
checkBoxes[k].addMouseListener(this);
Pane.add(checkBoxes[k]);
checkBoxes[k].add(m_popMenu);
}
这段代码完全符合我的要求,但GUI存在一些问题。如果只有两个复选框,则复选框与更多空格对齐,如果我右键单击打开弹出菜单,则对齐方式会正确更改。
每当我通过右键单击(第一次)打开弹出窗口时,复选框会减少它们之间的空间。
为什么会这样?