IT源码网

swing之openJDK 8 中的 isPopupMenu 方法

zhujiabin 2025年01月19日 程序员 57 0

刚刚遇到 openJDK JPopupMenu类方法isPopupMenu() ,其实现如下:

   private boolean isPopupMenu() { 
        return  ((invoker != null) && !(invoker instanceof JMenu)); 
    } 

我想知道这是否是确定是否是弹出菜单的最佳方法?

请您参考如下方法:

对于当前的 OpenJDK,当然,它应该可以工作。如果 future 的 OpenJDK 版本引入不同的菜单类型或重新设计实现(这似乎不太可能,不确定现在人们对 Swing 有多大兴趣),您的方法可能会开始给出不正确的结果。

也许有更直接的方法来实现您的需求?或者,如果您正在编写 UI 组件,则需要将区分的责任交给调用代码?


评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!