gpt4 book ai didi

java - 如何获得透明的JFrame?

转载 作者:行者123 更新时间:2023-12-02 04:57:04 25 4
gpt4 key购买 nike

当我尝试运行以获得透明框架时,它显示异常。

我的代码是:

public class NewJFrame extends javax.swing.JFrame {
public NewJFrame() {
initComponents();
com.sun.awt.AWTUtilities.setWindowOpacity(this, 0.05f);
}

异常(exception)是:

Exception in thread "AWT-EventQueue-0" java.awt.IllegalComponentStateException: The frame is decorated
at java.awt.Frame.setOpacity(Frame.java:960)
at java.awt.Window$1.setOpacity(Window.java:4032)
at com.sun.awt.AWTUtilities.setWindowOpacity(AWTUtilities.java:174)
at test.NewJFrame.<init>(NewJFrame.java:28)
at test.NewJFrame$2.run(NewJFrame.java:115)

最佳答案

在调用 setWindowOpacity 之前调用 setUndecorated(true)

在 Java 7+ 中,核心 API 提供了此支持(无需使用 com.sun.* 库)。请参阅How to Create Translucent and Shaped Windows更多细节。例如,您可以使用 JFrame#setOpacity 代替...

this.setOpacity(0.05f);

哦,尽管教程可能建议,我相信使装饰窗口透明的唯一方法是当窗口不使用操作系统提供的装饰时(并且正在使用提供的外观和感觉装饰,并非所有外观都看起来如此)并感受到支持),但我可能是错的

关于java - 如何获得透明的JFrame?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28656647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com