Java – jcombobox on JPopupMenu

I'm trying to use composite swing components as part of the menu

Everything works well except for one detail: the component contains JCombo@R_587_2419 @Es, whenever the user clicks one of them to open its drop-down list, the drop-down list opens but the menu disappears single click JCombo@R_587_2419 @Is it possible to keep the menu open when?

I classified JMenu This is the corresponding code:

public class FilterMenu extends JMenu {

    public FilterMenu(String name) {
        super(name);

        final jpopupmenu pm = this.getPopupMenu();
        final FilterPanel filterPanel = new FilterPanel(pm) {
            @Override
            public void updateTree() {
                super.updateTree();
                pm.pack();
            }
        };
        pm.add(filterPanel);
    }
}

Filterpanel is a custom composite component Call PM Pack() to resize the JPopupMenu when the filterpanel size changes

Thanks for your help

Solution

You mean this bug

import javax.swing.*;
import java.awt.event.*;

public class Test {

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.setSize(400,400);
        frame.setVisible(true);
        String[] list = {"1","2","3","4",};
        JCombo@R_587_2419@ comb = new JCombo@R_587_2419@(list);
        final jpopupmenu pop = new jpopupmenu();
        pop.add(comb);
        frame.addMouseListener(new MouseAdapter() {

            @Override
            public void mousePressed(MouseEvent e) {
                System.out.println("mousePressed");
                pop.show(e.getComponent(),e.getX(),e.getY());
            }
        });
    }
}
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
分享
二维码
< <上一篇
下一篇>>