我有6個fxml文件有一個控制器。我需要初始化方法不是在第一個fxml上,而是在第5個fxml文件(PasswordArray.fxml)上定製按鈕。由於initialize()方法在第一個fxml文件(Home.fxml)的加載時自動調用,因此會顯示錯誤。如何在PasswordArray.fxml之後使用initialize方法。 我在互聯網上搜索,但沒有找到我的問題的任何解決方案。我應該使用不同的控制器,因爲我需要爲多個fxml文件初始化方法。 Main FXML File (Home.fxml)在fxml控制器中調用initialize()方法而不是自動調用
Controller (MajorProjectController.java) [初始化()方法] [3]
*「我有6個fxml文件有一個控制器」*。首先:你沒有。每次加載FXML文件時都會得到一個新的控制器。你可能的意思是*「我有6個fxml文件,並且所有這些文件的控制器來自同一個類」*。只是**不要這樣做**。爲每個FXML創建一個不同的控制器類。 –
感謝#James_D您的建議。但我有一個查詢「我不需要對所有fxml文件進行其他自定義操作,但只有一些文件需要初始化方法來在GUI上執行一些額外的操作,所以我應該爲所有的fxml文件採用不同的控制器,那些需要初始化方法來執行一些定製的文件?「 –
您應該基本**從不**使用相同的控制器類來處理不同的FXML文件。唯一可能的例外情況(我能想到的)是,如果你有兩個FXML文件,它們具有*完全相同的一組控件,但只是以不同的方式佈置它們(例如,如果您正在編寫桌面和移動設備,有不同的佈局:但不可能因爲各種各樣的原因而進行這項工作)。 –