Java Swing JPopupMenu setVisible(false)不起作用

时间:2016-02-02 13:00:21

标签: java swing jpopupmenu

我有一个扩展JPopupMenu的MyPopupMenu类。在这个弹出菜单中,我添加了一个带有ActionListener的JMenuItem,它调用一个需要几分钟才能返回的进程。我想在按下此项目后立即关闭弹出菜单。我在MyPopupMenu类中的方法是:



    public class MyService: IMyService 
    {
        public MyService()
        { // init code }

        public int GetOne()
        { return 1; }
    }

这不起作用。按下“One”项后,进程开始,但弹出菜单保持打开状态,直到进程返回(几分钟)。是否可以使弹出菜单消失但进程继续运行?

1 个答案:

答案 0 :(得分:0)

您正在Swing主线程上执行操作。这会阻止你的Gui更新。你应该把你的班级的开头移到另一个线程。

有关详细信息,请参阅Here