我第一次使用 Java 和 JavaFX 为一个类项目制作一个基本的清单 GUI 应用程序。我有一个主菜单和几个从主菜单调用的子菜单。我是 MVC 的新手,我正在尽我所能将我的 GUI 控制和逻辑分开。到目前为止,我的 JavaFX 启动方法设置是这样的(我意识到可能不需要额外的阶段。它只是为了澄清它是主菜单的阶段):
@Override
public void start(Stage mainStage) {
Stage mainMenuStage = mainStage;
String fxmlFilename;
fxmlFilename = "MainMenu/MainMenu.fxml";
mainMenuStage = this.LoadFXML(fxmlFilename);
mainMenuStage.show();
}
然后加载主菜单控制器并具有以下代码:
package c482.InventoryManagement.MainMenu;
import java.net.URL;
import java.util.ResourceBundle;
import javafx.event.Event;
import javafx.fxml.FXML;
import javafx.stage.Stage;
import c482.InventoryManagement.C482InventoryManagement;
import c482.InventoryManagement.MainMenu.MainMenu;
import c482.InventoryManagement.MainMenu.AddPart.AddPartMenu;
public class MainMenuController {
C482InventoryManagement loadFxml = new C482InventoryManagement();
MainMenu mainMenu;
Stage addPartMenuStage;
@FXML
private void initialize() {
mainMenu = new MainMenu();
addPartMenuStage = loadFxml.LoadFXML("MainMenu/AddPart/AddPartMenu.fxml");
}
@FXML
private void partAddButton (Event event) {
addPartMenuStage.show();
}
主菜单控制器实例化 MainMenu,它将具有处理主菜单数据的任何逻辑的方法。控制器还实例化子菜单阶段。然后,当单击相应的按钮时,控制器会显示 AddPartMenu 阶段。从那里,AddPartController 将实例化 AddPart 逻辑类并处理它。
难道这一切都符合MVC的思想吗?我有正确的想法吗?感谢您的任何建议。