私はJavaプロジェクトでシーンがほとんどなく、解決方法がわからない問題が1つあります。 First scene called "Zadanie".この最初のシーンには「Zadanie」というテキストフィールドとコンボボックスがあります。だから、あなたがイメージで見ることができるように、私はTextFieldsにいくつかの数字を書いて、ComboBoxesのいくつかのオプションを選んだ。それから私は "Vypočítať"(ボタンアップ)をクリックして他のシーンをオンにしました。そして最初のシーン "Zadanie"に戻りましたが、TextFieldsとComboBoxesのすべてがなくなりました。 Back on first scene "Zadanie".コードの例や、最初のシーンでそれらを保持する方法を教えてください。ありがとうございました。Java - シーンビルダ - シーン切り替え後にTextFieldとComboBoxのユーザー入力が消える
答えて
問題は、画面を切り替えると、画面を表すオブジェクトが破棄されることです。したがって、ユーザー入力などの任意の変数も処分されます。あなたが画面に戻ったとき、それは異なるオブジェクトであるが、同じタイプのものである。これは、ユーザー入力などの変数の値が新しくインスタンス化/初期化されることを意味します。
解決方法: この情報を格納するいくつかのグローバル変数(たとえば、Mainの変数ですが、プログラミングの練習には異なるクラスを使用する必要があります)を作成します。ユーザーが画面を切り替えるためにクリックしたときに、画面が実際に切り替わる(アンロードされる)前に、ユーザー入力をグローバル変数に格納します。その後、画面を元の状態に戻したら、変数をグローバル変数のフィールドに再ロードします。
Global.java
class Global {
public static String nameFieldValue;
public static String ageFieldValue;
}
PersonForm.java
class PersonForm extends BorderPane {
Button closeButton;
TextField nameField;
TextField ageField;
public PersonForm() {
this.nameField = new TextField(...);
this.ageField = new TextField(...);
this.closeButton = new Button("Close Window");
// set layouts of buttons here.
if (Global.nameFieldValue != null) {
this.nameField.setText(Global.nameFieldValue);
}
if (Global.passwordFieldValue != null) {
this.passwordField.setText(Global.passwordFieldValue);
}
PersonForm thisForm = this; // So that EventHandler cna use this.
this.closeButton.setOnAction(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
Global.nameFieldValue = thisForm.nameField.getText();
Global.passwordFieldValue = thisForm.passwordField.getText();
// switch screens.
}
});
}
}
ご協力ありがとうございますが、コードで書かれたいくつかの例を教えていただけますか?それは役に立つだろう。 –
コードで私を助けてくれて本当に感謝しますが、私はそれを他の方法でやりました。私の2番目の画面から、私はポップアップ画面を作った。つまり、ボタンをクリックすると、2番目の画面が開きますが、最初の画面は閉じません。私は自分の教育のために次回はあなたのコードを確かに使用します。ありがとう、イアン・カークパトリック –
問題ありません!助けてうれしい! –
- 1. JavaFXの切り替えシーン
- 2. javaFXの切り替えシーン
- 3. Threejsの切り替えシーン
- 4. メニューの切り替え後にnavbar cssが消える
- 5. TabHostのMapActivityがタブ切り替え後に消える
- 6. シーン切り替えエラー
- 7. ラベルとシーンの切り替えJavaFX
- 8. ログイン後にユーザーを切り替える
- 9. シーンビルダで消えるJavaのコレクション
- 10. アクティビティの切り替え後にWebViewコンテンツが部分的に消えて戻る
- 11. jquery入力を切り替える
- 12. Java/XMLファイルを切り替えると、Eclipse(Oxygen)、Run/Debug Barが消えます
- 13. Angular JS - 入力値の切り替え
- 14. シーンをボタンノードで切り替えるとエラーが発生する
- 15. divとtextfieldを切り替えるときのトリガーイベント
- 16. JavaScript入力フォーカス切り替え
- 17. ユーザーがフルバージョンを購入した後、別のSQLiteデータベースに切り替える
- 18. 切り替えシーンのJavaFXに関する問題
- 19. HTML入力フィールド間の入力メソッドの切り替え
- 20. ユーザーをTFワークスペースに切り替える
- 21. SQLサーバーでクエリを切り替えるときにコードが消える
- 22. "カスタムフィールドテンプレート"プラグイン - テンプレートを切り替えるときにコンテンツエリアが消える
- 23. UISegmentControlでビューを切り替えるときにUISearchBarが消える
- 24. lexとyaccの入力ストリームを切り替える
- 25. シーン切り替え後にUIButtonが表示されなくなった
- 26. Javafxシーン切り替えによるステージサイズの増加
- 27. JavaFXのシーンを動的に切り替える
- 28. Flask - wwwに切り替えるときにユーザーがログアウトする*
- 29. jQueryクラスの切り替えとクッキーの値の切り替え?
- 30. 他のビューの切り替えに切り替えるapp xcode
問題を再現いくつかのコードを投稿してくださいことはできますか? https://stackoverflow.com/help/how-to-ask –