Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 向JCheckbox数组添加JPopMenu_Java_Swing_Jcheckbox_Jpopupmenu - Fatal编程技术网

Java 向JCheckbox数组添加JPopMenu

Java 向JCheckbox数组添加JPopMenu,java,swing,jcheckbox,jpopupmenu,Java,Swing,Jcheckbox,Jpopupmenu,我尝试右键单击将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(it

我尝试右键单击将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有一些问题。如果只有两个复选框,复选框将与更多空间对齐,如果我右键单击打开弹出菜单,对齐方式将正确更改

每当我第一次用鼠标右键单击打开弹出窗口时,复选框就会减少它们之间的空间


为什么会发生这种情况?

要更快地获得更好的帮助,请发布一条。您是否可以尝试不添加复选框[k]。添加M_popMenu@StanislavL在这种情况下,复选框正确对齐没有问题。@StanislavL但我需要在每个复选框中添加弹出菜单,这样我添加了那行代码。您可以使用JPopupMenu的public void showComponent invoker、int x、int ymethod。通过适当的组件传递适当的JCheckBox实例,或者如果您需要一个弹出窗口,则传递实例的paretn,您可以通过x,y移动它