刚刚遇到 openJDK JPopupMenu
类方法isPopupMenu()
,其实现如下:
private boolean isPopupMenu() {
return ((invoker != null) && !(invoker instanceof JMenu));
}
我想知道这是否是确定是否是弹出菜单的最佳方法?
请您参考如下方法:
对于当前的 OpenJDK,当然,它应该可以工作。如果 future 的 OpenJDK 版本引入不同的菜单类型或重新设计实现(这似乎不太可能,不确定现在人们对 Swing 有多大兴趣),您的方法可能会开始给出不正确的结果。
也许有更直接的方法来实现您的需求?或者,如果您正在编写 UI 组件,则需要将区分的责任交给调用代码?