ランチャーとJavaFXクラスがあります。ランチャーは、JavaFXApplication1というクラスを作成します。JavaFXApplicationには、JavaFXコード全体(この場合はほんの少しの例)が含まれており、1つのプライマリステージでウィンドウを設定する必要があります。
ランチャーには静的なメインエントリポイントがありますが、JavaFXは実際にはこのエントリポイントを使用していないことを読みました。これは私のコンソール出力を説明しています(投稿の最後を参照してください)
これが可能かどうかはわかりません(ランチャーはJavaFXウィンドウを作成します-エントリポイントはプレゼンテーションクラス自体にはありません)。ランチャーはプログラム全体を1つのオブジェクト(プレゼンテーション、ビジネス、永続性-3層プログラム)として表すため、プリローダーを使用したくありません(プリローダーは起動時の高負荷用だと思います)。エントリポイントはプレゼンテーションクラスの外にある必要があります(この例ではランチャークラスにあります)
次の例は機能します。でも私にとっては「黒魔術」のようなものです
これが私のコードです
ランチャー:
package javafxapplication1;
public class Launcher
{
public static void main(String[] args)
{
System.out.println("main()");
// Do some stuff and then create the UI class
JavaFXApplication1 client = new JavaFXApplication1();
client.caller(args);
}
}
JavaFXApplication1:
package javafxapplication1;
import javafx.application.Application;
import javafx.stage.Stage;
public class JavaFXApplication1 extends Application
{
@Override
public void start(Stage primaryStage)
{
System.out.println("start()");
primaryStage.setTitle("I am a JavaFX app");
primaryStage.show();
}
public void caller(String[] args)
{
System.out.println("caller()");
launch(args);
}
/* We call the main function from the client
public static void main(String[] args)
{
launch(args);
}*/
}
そして、プログラムの出力は次のとおりです。
start()
そのようなアプリケーションを作成する方法はありますか?ありがとうございました