私はゲームを作成しており、JavaFxを使用することを考えています。私がやりたいことはメインクラスの呼び出しからGUIクラス(javafxのすべてのスタート、シーンなどを含む)で繰り返しレンダリングメソッドを呼び出すことです。同時にメインでゲームロジック(collisiondetectionなど)を処理します-クラス。問題は、私はエラーの束を得ていると彼らはGUIクラスがアプリケーションの中心にしたいように思える。だから私の考えは間違っていますか?個別のJavaFX GUIとロジック
答えて
JavaFXのメインスレッドは、GUI機能を実行する「アプリケーションスレッド」であり、これを回避するものではありません。
"GUIクラス"にはstart
とmain
のメソッドをJavaFXが必要とするように作成し、GUIオブジェクトを作成した後、アプリケーションロジックのエントリポイントを開始する新しいスレッドを開始してください。何らかの理由で、アプリケーションの起動時にGUIを表示したくない場合でも、他のビジネスロジックを実行した後でprimaryStage.show()
を実行するメソッドを呼び出すことができます。
アプリケーションロジックがGUIのレンダリングメソッドを頻繁に呼び出すようにして、さらに別のスレッドを作成したり、タイマーを使用したりすることもできます。私はこれがパラダイムだとは思わない。いずれにしても、GUIを変更するにはPlatform.runLater()
を使用する必要があります。そうしないと、GUIが終了します。
申し訳ありません。私がこれをやりたい理由はカプセル化で、いつでもフレームワークを変更する必要がありますが、javafxでは動作しません。 – codingIsFun
それはどういう意味ですか?どのようにしてフレームワークを使用できなくなるのでしょうか?どのようにしてカプセル化が削除されますか? – Zircon
すべてがjavafx "アプリケーション"をベースにしており、ゲームロジックではないからです。 – codingIsFun
- 1. JavaFX:サービスとGUI
- 2. C++のVala GUIとロジック
- 3. C++ロジック、c#gui
- 4. JavafxのGUIプログラミング
- 5. 別のクラスの別のスレッドからJavaFX GUIを変更する
- 6. Javafx GUIスコアボード
- 7. Javafx Guiの更新
- 8. キーボードとjavafx GUI(setOnKeyPressed)との関係
- 9. 別のFloatingActionButtonロジック別のクラスのロジック
- 10. JavaFx GUIユーザ入力
- 11. ラズベリーパイのJavafx GUIを実行
- 12. javafxのコンソール出力&GUIテキストフィールド?
- 13. GUIロジックの実装に関するヒント
- 14. JavaFX GUIにJavaFX LineChartを含めることができます
- 15. 個別のクラスから独立したJavaFXウィンドウを開く
- 16. 同じGUIとロジックを持つWindowsとLinuxプログラム
- 17. XAMPPと個別インストール
- 18. UIとロジック用に別々のスレッド - Android
- 19. 別個のモバイルCSSシートと別のモバイルページ
- 20. JavaFX:非GUIスレッドのキャンバス画像
- 21. コードと別個の文書
- 22. javafxアプリでMySQLの条件に基づいて別のGUIを開く
- 23. JavaFXのGUIスレッドとWindowsのロックされた画面
- 24. さらに別のロジック
- 25. RグラフをJavaFX GUIに埋め込む?
- 26. 個別
- 27. 個別のカウンティングインデックス
- 28. 別個のポリモーフィックアソシエーションテーブル
- 29. 個別のコマンド
- 30. 別個のレコード
あなたのアプローチは後ろ向きです。 GUIはアプリケーションの中心です。 JavaFXについて何も知らないGUIモデルを作成します。 JavaFX GUIでモデルを読んでGUIコンポーネントを作成し、GUIコントローラでモデルを更新します。モデルはGUIについて何も知らない。 GUIはモデルについて知っていなければなりません。そうすれば、同じモデルを異なるGUIで使用することができます。 –