我尝试开发一个应用程序,并使用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