Java 使用LwjglCanvas更改swing JFrame的未装饰状态

Java 使用LwjglCanvas更改swing JFrame的未装饰状态,java,swing,libgdx,jframe,lwjgl,Java,Swing,Libgdx,Jframe,Lwjgl,我有JFrame,它被设置为未修饰(true),在它的内容窗格中有一个LwjglCanvas作为一个libgdx应用程序来呈现它的东西。 我需要在某个时候,做一些装饰(假)。但这似乎是不可能的。 一旦显示JFrame,就不能更改装饰状态,唯一的方法是创建新的JFrame,或者处理现有的JFrame,然后将其打包。这两种解决方案对我来说都很糟糕,因为它们最终都会通知LwjglCanvas停止,一旦停止,就无法再次启动。 我试图覆盖它的停止方法,但它仍然得到的混乱不知何故 我为什么需要这个? 我正在

我有JFrame,它被设置为未修饰(true),在它的内容窗格中有一个LwjglCanvas作为一个libgdx应用程序来呈现它的东西。 我需要在某个时候,做一些装饰(假)。但这似乎是不可能的。 一旦显示JFrame,就不能更改装饰状态,唯一的方法是创建新的JFrame,或者处理现有的JFrame,然后将其打包。这两种解决方案对我来说都很糟糕,因为它们最终都会通知LwjglCanvas停止,一旦停止,就无法再次启动。 我试图覆盖它的停止方法,但它仍然得到的混乱不知何故

我为什么需要这个?

我正在尝试为libGDX桌面应用程序制作一个加载启动屏幕,其中包含一个进度条,该进度条应显示我的桌面应用程序在opengl上下文中加载其资源的进度。启动屏幕必须是未装饰的窗口,当所有加载的应用程序本身都应该显示时,最大化并装饰

不起作用的方法:

  • 使用一个JFrame,并在装饰模式之间切换
  • 尝试将Lwjgl画布从一个JFrame移动到另一个JFrame
  • 使用两个单独的Lwjgl画布(无法完成,因为只有一个Al 上下文可以一次初始化)

  • 如何做到这一点?

    我不明白为什么加载启动屏幕需要包含LWjglCanvas。为什么不为启动屏幕和主应用程序屏幕提供一个未修饰的JFrame,其中包含JWjglCanvas。因为如果我想在启动屏幕中添加复杂的好看的图形(如奇特的进度条和动画),那么使用Swigs标准功能将JFrame放入其中将是一个地狱。你在混合轻量级(JFrame)和重量级(画布)组件。我肯定那不是个好主意。看看我能用什么来代替?还有什么技术最适合制作一个外观良好且带有进度条的“图形化”闪屏,从而使其最容易制作?仅Swing,具有非常弱的工具来实现我需要的功能。