我嘗試開發一個應用程序,並使用Eclipse。Java FX - 將第二個fxml文件關聯到第二個控制器文件
首先我曾在四個文件:
Main.java,通過使用sheet1.fxml文件
MyController.java啓動界面,聲明按鈕和fxml文件的錨點sheet1。該文件執行一個動作事件:在點擊第一個fxml文件的按鈕(即sheet1)後,繼續第二個界面(sheet2.fxml)。
現在我想在第二個接口sheet2.fxml上工作。我想:
- 添加基於文件的計數文本文件夾
中 - 爲了去第三接口
上創建按鈕,但我的問題是,我該怎麼辦?
我試圖創建第二個控制器,使文本nbExcel和按鈕的聲明,然後建立與sheet2.fxml文件的關係,但我沒有看到訣竅。
如何關聯運行位於sheet2上的組件和該新控制器的事件?
我開始做的 「myController2」:
public class myController2 extends Application {
// How and where to associate that controller with the fxml file "sheet2" ?
public void start2() throws IOException{
Stage primaryStage2 = new Stage();
Parent root = FXMLLoader.load(getClass().getResource("sheet1.fxml"));
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage2.setScene(scene);
primaryStage2.show();
}
@FXML
// declaration text in order to count files in folder in sheet2 interface
private Text nbExcel;
// declaration action buttons in sheet2 interface
// To do
// 1 - INITIALISATION
public void initialize(URL location, ResourceBundle resources) {
File a = new File("C:/Controles/Excel");
int b = 0;
for (File file : a.listFiles()) {
if (file.isFile() && (file.getName().endsWith(".xlsx"))) {
b++;
}
}
nbExcel.setText(Integer.toString(b));
}
任何幫助將非常感激。
謝謝!
請編寫[一個最簡單,完整且可驗證的示例](https://stackoverflow.com/help/mcve)。我沒有讀過你的代碼,因爲它太長了,我相信90%的代碼是不必要的混亂。 – Michael
此外,您似乎需要幫助的部分是您*未發佈的部分,但只是試圖描述。代碼描述很少有用。 「我應該爲每張紙創建另一個控制器類嗎?」:是的。每個FXML文件都應該有自己的控制器類。 –
好的,我很抱歉..我在第一篇文章中做了編輯。非常感謝您的幫助 – Julien