如何初始化JavaFXTookit?

如何初始化JavaFXTookit?,java,swing,javafx,Java,Swing,Javafx,我有个问题 如何使用我在前面的StackOverflow问题中找到的方法初始化JavaFXToolkit?主题可在此处找到: 我正试图从该线程使用类似于此解决方案的解决方案: 问题:非平凡的Swing GUI应用程序需要运行JavaFX组件。应用程序的启动过程在启动依赖服务层后初始化GUI 解决方案 子类JavaFX应用程序类,并在单独的线程中运行它,例如:* public class JavaFXInitializer extends Application { @Override

我有个问题

如何使用我在前面的StackOverflow问题中找到的方法初始化JavaFXToolkit?主题可在此处找到:

我正试图从该线程使用类似于此解决方案的解决方案:

问题:非平凡的Swing GUI应用程序需要运行JavaFX组件。应用程序的启动过程在启动依赖服务层后初始化GUI

解决方案 子类JavaFX应用程序类,并在单独的线程中运行它,例如:*

public class JavaFXInitializer extends Application {
    @Override
    public void start(Stage stage) throws Exception {
        // JavaFX should be initialized
        someGlobalVar.setInitialized(true);
    }
}
我唯一的问题是:我该怎么办

someGlobalVar.setInitialized(true); ?

我不知道该填写什么,一些提示将不胜感激:)

我写这个答案是为了回答您关于如何在java中支持(
.mp3、.wav、.flac、.ogg
)等的评论。对于
.mp3
,您可以使用JLayer在web上搜索示例

关于(
.mp3、.wav.flac、.ogg
)和其他一些,您可以使用JavaZoom
BasicLayer
,它使用一些外部库来支持它们,您可以下载zip文件夹(无需安装程序下载,然后打开zip文件夹)

然后进入文件夹lib,复制除kj_dsp之外的所有.jar,该文件可用于音频数据的可视化表示,还包含一个关于快速傅立叶变换(FFT)的类。此外,还将MP3_SPI1.9.3更改为

然后将这些.jar添加到项目库中,只需使用:

BasicPlayer player = new BasicPlayer();
整件事都用机械装置


它运行在一个单独的线程上,所以你不必担心。它工作得非常好,但项目有点旧。这是一个好的开始!关于文档,请访问网站。

您不能只使用一个文档吗?它将在实例化时启动工具箱,如果它还没有启动的话。@James_D我可以,但是JFXPanel的问题是它使用了大约10mb的RAM,即使设置为null,它也需要相当长的时间GC才会开始使用它。我知道10MB听上去没什么大不了的,但我不喜欢不必要的资源使用。我怀疑大部分资源都被使用了,因为它启动了FX Toolkit…你可以阅读我的答案,了解启动FX Toolkit的方法;但老实说,你不使用
JFXPanel
的理由毫无意义(你无法知道资源使用是“不必要的”)不。我很惊讶它只使用10MB。对于一个看起来很小的整个UI工具包。不要使用非公共API。明天我将对此进行深入研究。据我所知,BasicLayer缺少一些功能,我可能不得不自己添加这些功能,例如获取音频剪辑中的当前位置,以及获取最大位置。但我最终会弄清楚怎么做;)我要去睡觉了。谢谢你迄今为止的帮助,巴德@接受ImJustACowLol作为答案?:)。。。当您使用java sound api时,您可以将音量调低到您想要的程度。我的意思是您可以一点一点地控制声音。我理解这一点,但我对音频处理相当陌生,因此我现在宁愿使用库:)
BasicPlayer player = new BasicPlayer();