【发布时间】:2019-10-24 13:11:11
【问题描述】:
所以目前我正在开发一个项目,我需要在一个方法中启动一个快速的 javafx 窗口。由于我不想让类扩展应用程序,我的解决方案是创建一个扩展应用程序的内部类,并通过创建内部类的实例并在内部类中调用启动来在方法中启动 javafx 窗口,如下所示.
public void createWindow() {
Fx window = new Fx();
window.launchWindow();
}
public static class Fx extends Application {
private void launchWindow() {
launch();
}
public void start(Stage stage) {
//javafx code
}
}
问题是内部类必须是公共的,因为 javafx 要求启动的类是公共的,否则会抛出异常。这会导致用户现在能够访问内部类,因为它是公共的。
是否可以将其设为私有或采取其他解决方法?或者我应该有其他方法吗?
【问题讨论】:
-
要建议“另一种方式”,了解您这样做的动机会很有帮助。对于代码混淆,这是不够的。这可能是尝试将 JavaFX 分离为单独的层/解耦代码,但最好澄清这一点。