【发布时间】:2018-06-14 15:32:15
【问题描述】:
我现在正在尝试将 JFrame 的不透明度设置为 JMenuItem 的 50%。 我的最后一次尝试是这样的:
op50.addActionListener((ActionEvent y) -> {
setUndecorated(true);
AWTUtilities.setWindowOpacity(this, 0.5F);
});
但无论我在做什么,都会遇到 java.awt.IllegalComponentStateException 错误并显示消息:框架是可显示的。
我不知道该怎么做,所以请帮助我。
【问题讨论】:
-
当 JFrame 已经可见时,您无法设置更改其不透明度
-
展示一个完整的例子,相信是可以的。 minimal reproducible example
-
您需要先
dispose框架,以便释放它对本机对等方的引用(使其成为displayable),(可能)创建框架的新实例,应用不透明度,然后再次显示。您的下一个问题是,您不能使具有原生装饰的窗口透明:P -
这可能会对您有所帮助。 stackoverflow.com/questions/875132/…