기본 애플리케이션에 대한 스플래시 화면을 표시해야하는 프리 로더 (다음 튜토리얼 기반)를 만들었습니다.
9.3.4 프리 로더를 사용하여 응용 프로그램 초기화 진행률 표시 http://docs.oracle.com/javafx/2/deployment/preloaders.htm
public class SplashScreenLoader extends Preloader {
private Stage splashScreen;
@Override
public void start(Stage stage) throws Exception {
splashScreen = stage;
splashScreen.setScene(createScene());
splashScreen.show();
}
public Scene createScene() {
StackPane root = new StackPane();
Scene scene = new Scene(root, 300, 200);
return scene;
}
@Override
public void handleApplicationNotification(PreloaderNotification notification) {
if (notification instanceof StateChangeNotification) {
splashScreen.hide();
}
}
}
IDE (IntelliJ IDEA)에서 메인 애플리케이션을 실행할 때마다 프리 로더를 실행하고 싶습니다.
또한 IntelliJ의 프리 로더에 대한 패키징 규칙을 따랐습니다. https://www.jetbrains.com/idea/help/applications-with-a-preloader-project-organization-and-packaging.html
메인 애플리케이션을 실행할 때 프리 로더가 시작되지 않아서 뭔가 빠졌다고 생각합니다. 저는 프리 로더를 처음 접했고 독립형 애플리케이션에서 메인 앱을 프리 로더와 연결하는 메커니즘이 무엇인지 이해하지 못합니다.
LauncherImpl
이와 같이 사용하여 실행할 수 있습니다 . . .
public class Main {
public static void main(String[] args) {
LauncherImpl.launchApplication(MyApplication.class, SplashScreenLoader.class, args);
}
}
그리고 수업 MyApplication
은 다음과 같을 것입니다. . .
public class MyApplication extends Application {
@Override
public void start(Stage primaryStage) {
....
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다