1つのコントローラを持つ6つのfxmlファイルがあります。最初のfxmlではなく、ボタンのカスタマイズのための5番目のfxmlファイル(PasswordArray.fxml)でメソッドを初期化する必要があります。 initialize()メソッドは、最初のfxmlファイル(Home.fxml)のロード時に自動的に呼び出されるため、エラーが表示されます。 PasswordArray.fxmlの後にメソッドを初期化する方法。 インターネットで検索しましたが、私の質問の解決策は見つかりませんでした。複数のfxmlファイルに対してinitializeメソッドが必要なので、別のコントローラを使用する必要があります。 Main FXML File (Home.fxml)自動的にではなくfxmlコントローラの外部でinitialize()メソッドを呼び出す
Controller (MajorProjectController.java) [()メソッドを初期化] [3]
*「1つのコントローラを持つ6つのfxmlファイルがあります」*。まず、あなたはしません。 FXMLファイルをロードするたびに新しいコントローラが得られます。あなたがおそらく意味することは、「私は6つのfxmlファイルを持っており、それらのすべてのコントローラは同じクラスのものです」*。ちょうど**これをしない**。 FXMLごとに異なるコントローラクラスを作成します。 –
あなたの提案に感謝#James_D。しかし、私はクエリを持っている "私はすべてのfxmlファイルのための他のカスタム操作を必要としないが、ファイルのいくつかは、GUI上でいくつかの余分な操作を行うメソッドを初期化する必要があります。 –
基本的には、異なるFXMLファイルに対して同じコントローラクラスを使用しないでください。 (私が考えることができる)唯一の例外は、FXMLファイルが2つあって、同じコントロールセットを持っていて、それらを別々にレイアウトした場合です(例えば、デスクトップとモバイルの両方を書く場合、さまざまなレイアウトがありましたが、とにかくさまざまな理由でその作業を行うことはできません)。 –