我是swing的新手,我确信有另一种方法,但由于一些笨拙的api设计,我必须实现一个接收MouseEvent并返回结果的处理程序。我想显示弹出菜单的用户,等待它关闭,并根据用户选择返回值。怎么做呢?提前感谢。OK具体问题:Substance TabCloseCallback接口有如下方法:
public TabCloseKind onAreaClick(JTabbedPane tabbedPane,
int tabIndex, MouseEvent mouseEvent);
我希望显示弹出菜单时,它被称为nad返回值基于什么用户选择。
看看如何使用对话框
这将允许你显示一个窗口,将阻塞,直到用户关闭它
看看通过调用JPopupMenu.addPopupMenuListener()
可以看到的事件。
特别是,您可以得到popupMenuWillBecomeInvisible()
呼叫。
你可以在你的弹出类中处理关闭事件,并将变量设置为你期望的数据
yourWindow.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
// catch what you want
}
});