2016-10-05 8 views
1

私が見たチュートリアルから、各Java FXには複数のシーンを保持するアプリケーションが必要です。各シーンは、基本的にFXMLファイルの所有者です(またはハードコーディングされていることがあります)。Java FXアプリケーション、シーン、および親の関係は何ですか?

しかし、シーンを切り替えると、ウィンドウが最大化されたままで問題が発生しました。最終的に私を助けて何

だから、私の質問は基本的に、アプリケーション、シーンと親の関係は何であるこのHow can I keep my window size while switching scenes in Java FX?

でしたか?

私は、各FXMLファイルまたは1つのシーンにシーンを持ち、Parentノードを置き換えるとしますか?

おかげ

答えて

3

Application:あなたのための環境を作成し、単一のインスタンスです。 primaryStageを作成し、javafx UIスレッドを起動します。

Stage:ウィンドウです。あなたは好きなだけ多くのStagesを持つことができます。 Applicationは、手動で作成したStagesと比較して、いくつかの特別なプロパティを持つをstartメソッドで提供します。

Scene:すべてStageは、一度に1つだけSceneを保持できます。 Scenesをスワップアウトすることはできますが、実行することはお勧めしません。 Scenerootをスワップする方が良いでしょう。

Parent:他にもNodesを子供として保持できる単純なNodeです。 Sceneには、いずれもrootとして、ちょうど1つのParentが必要です。

FXML:上記とは何の関係もありません。

単一のFXMLファイルは、Node(あなたが得たルートノード、FXMLLoader)の階層を記述するだけで、その子です。 FXMLファイルには、ButtonというシングルまたはSceneのルートNodeとその子をすべて記述することができます。 FXMLは単一のSceneに束縛されていません。

したい場合は、FXMLファイル(スタンダール入力formularなど)GridPane内部LabelTextfieldを記述しており、それをあなたがどこかに(できるだけ頻繁にあなたが望むように、1つでもこの配置を必要とするたびにロードすることができますシーン)。

+0

ちょうど精巧な答えをありがとうございました。 –

関連する問題