如何使JPopupMenu透明?

如何使JPopupMenu透明?,第1张

如何使JPopupMenu透明?

d出菜单的问题在于它可能被实现为顶级容器(Window),并且窗口是不透明的,无论您用setOpaque()设置了什么值(不透明)。但是窗口也可以做成半透明的。

您可以通过强制使用重量级d出窗口并残酷地更改其不透明度破解 它。尝试以下作为实验(Java7)的基础:

import java.awt.Window;import javax.swing.JPopupMenu;import javax.swing.SwingUtilities;public class TranslucentPopup extends JPopupMenu {    {        // need to disable that to work        setLightWeightPopupEnabled(false);    }    @Override    public void setVisible(boolean visible) {        if (visible == isVisible()) return;        super.setVisible(visible);        if (visible) { // attempt to set tranparency try {     Window w = SwingUtilities.getWindowAncestor(this);     w.setOpacity(0.667F); } catch (Exception e) {     e.printStackTrace(); }        }    }}

请注意,它 不会 使半菜单透明!



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5135723.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-17
下一篇 2022-11-17

发表评论

登录后才能评论

评论列表(0条)

保存