Java 窗格1.添加(菜单3、2、3); 窗格1.添加(菜单4、2、5); 窗格1.添加(菜单5、2、6); 窗格1.添加(菜单6、2、7); 窗格1.添加(菜单7、2、9); 窗格1.添加(菜单8、2、10); 窗格1.添加(菜单9、2、11); 窗格1.添加(菜单10、2、13); 窗格1.添加(菜单11、2、14); 窗格1.添加(菜单12、2、15); 第1栏添加(b1、2、17); 第1栏添加(b2、3、17); menge1.getSelectionModel().select(“0”); menge2.getSelectionModel().select(“0”); menge3.getSelectionModel().select(“0”); menge4.getSelectionModel().select(“0”); menge5.getSelectionModel().select(“0”); menge6.getSelectionModel().select(“0”); menge7.getSelectionModel().select(“0”); menge8.getSelectionModel().select(“0”); menge9.getSelectionModel().select(“0”); menge10.getSelectionModel().select(“0”); menge11.getSelectionModel().select(“0”); menge12.getSelectionModel().select(“0”); 窗格1.设置填充(新插图(10)); 窗格1.setHgap(12); 窗格1.设置间隙(12); EventHandler Nächste_Bestellung=新的EventHandler(){ 公共无效句柄(ActionEvent事件){ Tisch1.close(); } }; EventHandler Rechnung_erstellen=新的EventHandler(){ 公共无效句柄(ActionEvent事件){ } }; b1.设置动作(Nächste_Bestellung); b2.设置动作(Rechnung_erstellen); Tisch1.setScene(szene_1); Tisch1.设置标题(“Tisch1”); Tisch1.show(); } 公共静态void main(字符串[]args){ 发射(args); } }

Java 窗格1.添加(菜单3、2、3); 窗格1.添加(菜单4、2、5); 窗格1.添加(菜单5、2、6); 窗格1.添加(菜单6、2、7); 窗格1.添加(菜单7、2、9); 窗格1.添加(菜单8、2、10); 窗格1.添加(菜单9、2、11); 窗格1.添加(菜单10、2、13); 窗格1.添加(菜单11、2、14); 窗格1.添加(菜单12、2、15); 第1栏添加(b1、2、17); 第1栏添加(b2、3、17); menge1.getSelectionModel().select(“0”); menge2.getSelectionModel().select(“0”); menge3.getSelectionModel().select(“0”); menge4.getSelectionModel().select(“0”); menge5.getSelectionModel().select(“0”); menge6.getSelectionModel().select(“0”); menge7.getSelectionModel().select(“0”); menge8.getSelectionModel().select(“0”); menge9.getSelectionModel().select(“0”); menge10.getSelectionModel().select(“0”); menge11.getSelectionModel().select(“0”); menge12.getSelectionModel().select(“0”); 窗格1.设置填充(新插图(10)); 窗格1.setHgap(12); 窗格1.设置间隙(12); EventHandler Nächste_Bestellung=新的EventHandler(){ 公共无效句柄(ActionEvent事件){ Tisch1.close(); } }; EventHandler Rechnung_erstellen=新的EventHandler(){ 公共无效句柄(ActionEvent事件){ } }; b1.设置动作(Nächste_Bestellung); b2.设置动作(Rechnung_erstellen); Tisch1.setScene(szene_1); Tisch1.设置标题(“Tisch1”); Tisch1.show(); } 公共静态void main(字符串[]args){ 发射(args); } },java,javafx,Java,Javafx,那么,如何在我的主类中调用表1的GUI呢? 我用Swing找到了答案,但我不想混淆。 请帮助我:)代码中GUI的典型操作有: 创建和显示应用程序窗口(根容器) 编写GUI组件并添加到某个容器中 订阅/取消订阅GUI事件 更改GUI组件的状态 第一个通常在主应用程序类中完成,可能是包含main方法的应用程序类。 对于其余部分,最好遵循MVC模式,其中V代表视图(JavaFX或Swing类的一个实例,负责呈现和接收用户输入),M是您的数据模型(例如餐厅中的菜单项列表),C是负责组成视图的控制器类,订

那么,如何在我的主类中调用表1的GUI呢? 我用Swing找到了答案,但我不想混淆。
请帮助我:)

代码中GUI的典型操作有:

  • 创建和显示应用程序窗口(根容器)
  • 编写GUI组件并添加到某个容器中
  • 订阅/取消订阅GUI事件
  • 更改GUI组件的状态
  • 第一个通常在主应用程序类中完成,可能是包含main方法的应用程序类。 对于其余部分,最好遵循MVC模式,其中V代表视图(JavaFX或Swing类的一个实例,负责呈现和接收用户输入),M是您的数据模型(例如餐厅中的菜单项列表),C是负责组成视图的控制器类,订阅和处理视图事件以及更新模型。因此,您的代码可能如下所示(在伪代码中,因为我不熟悉JavaFXAPI):

    接口控制器{
    节点getView();
    }
    类表控制器{
    ...
    }
    类MainScreenController实现控制器ReservationListener{
    私人餐厅模式;
    私有窗格视图;
    私人名单儿童;
    公共主屏幕控制器(餐厅){
    视图=新的堆栈窗格();
    //从每个表的表视图合成此视图
    for(表:model.getTables()){
    TableController=新的TableController(表格);
    view.getChildren().add(controller.getView());
    //当在TableController中单击Reserve按钮时,我们需要
    //在此处接收预订活动并更新餐厅
    //地位
    controller.addReservationListener(此);
    }
    //在此处添加更多组件并订阅事件
    }
    //从表接收预订事件
    公共无效表格保留(表格){
    ...
    }
    }
    类MyApplication扩展了应用程序{
    //可以从文件或数据库加载的模型
    私人餐厅=新餐厅();
    //主视图的控制器
    私人餐厅控制器=新餐厅控制器(餐厅);
    公众假期开始(阶段){
    //在这里,您只需使用视图初始化阶段
    //从你的主控制器
    stage.setScene(新场景(main.getView(),400300));
    //您只需要显示根,其余的已经是它的一部分
    stage.show();
    } 
    }
    

    `

    代码中GUI的典型操作包括:

  • 创建和显示应用程序窗口(根容器)
  • 编写GUI组件并添加到某个容器中
  • 订阅/取消订阅GUI事件
  • 更改GUI组件的状态
  • 第一个通常在主应用程序类中完成,可能是包含main方法的应用程序类。 对于其余部分,最好遵循MVC模式,其中V代表视图(JavaFX或Swing类的一个实例,负责呈现和接收用户输入),M是您的数据模型(例如餐厅中的菜单项列表),C是负责组成视图的控制器类,订阅和处理视图事件以及更新模型。因此,您的代码可能如下所示(在伪代码中,因为我不熟悉JavaFXAPI):

    接口控制器{
    节点getView();
    }
    类表控制器{
    ...
    }
    类MainScreenController实现控制器ReservationListener{
    私人餐厅模式;
    私有窗格视图;
    私人名单儿童;
    公共主屏幕控制器(餐厅){
    视图=新的堆栈窗格();
    //从每个表的表视图合成此视图
    for(表:model.getTables()){
    TableController=新的TableController(表格);
    view.getChildren().add(controller.getView());
    //当在TableController中单击Reserve按钮时,我们需要
    //在此处接收预订活动并更新餐厅
    //地位
    controller.addReservationListener(此);
    }
    //在此处添加更多组件并订阅事件
    }
    //从表接收预订事件
    公共无效表格保留(表格){
    ...
    }
    }
    类MyApplication扩展了应用程序{
    //可以从文件或数据库加载的模型
    私人餐厅=新餐厅();
    
    package Restaurant;
    
    import javafx.application.Application;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Insets;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.layout.GridPane;
    import javafx.stage.Stage;
    
    public class Tisch_Auswahl extends Application {
      // Zutaten für die erste (primary) stage / Auswahlseite
      GridPane pane0 = new GridPane();
      Scene scene0 = new Scene(pane0);
    
      Button button1 = new Button("Tisch 1");
      Button button2 = new Button("Tisch 2");
      Button button3 = new Button("Tisch 3");
    
    
    
      EventHandler<ActionEvent> Tisch1 = new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent event) {
      Tisch1.show(); // Zweite Bühne wird angezeigt
      // In diesen EventHandler muss eigentlich Befehl für Abruf der Klasse?
    }
      };
    
      EventHandler<ActionEvent> Tisch2 = new EventHandler<ActionEvent>() {
        @Override
        public void handle(ActionEvent event) {
          Tisch2.show(); // Zweite Bühne wird angezeigt
          // In diesen EventHandler muss eigentlich Befehl für Abruf der Klasse?
        }
          };
    
      EventHandler<ActionEvent> Tisch3 = new EventHandler<ActionEvent>() {
            @Override
            public void handle(ActionEvent event) {
              Tisch3.show(); // Zweite Bühne wird angezeigt
              // In diesen EventHandler muss eigentlich Befehl für Abruf der Klasse?
            }
          };
    
    
    
      public void start(Stage primaryStage) throws Exception {
    // Erste stage vorbereiten
    primaryStage.setScene(scene0);
    primaryStage.setTitle("Bestellsystem");
    
    pane0.setPadding(new Insets(10));
    pane0.setHgap(20);
    pane0.setVgap(20);
    
    pane0.addRow(0, button1, button2, button3);
    
    
    
    
    button1.setOnAction(Tisch1);
    button2.setOnAction(Tisch2);
    button3.setOnAction(Tisch3);
    
    primaryStage.show();
    
      }
    
      public static void main(String[] args) {
    launch();
      }
    }
    
    package Restaurant;
    
    import javafx.application.Application;
    import javafx.collections.FXCollections;
    import javafx.collections.ObservableList;
    import javafx.event.ActionEvent;
    import javafx.event.EventHandler;
    import javafx.geometry.Insets;
    import javafx.scene.Scene;
    import javafx.scene.control.Button;
    import javafx.scene.control.ComboBox;
    import javafx.scene.control.Label;
    import javafx.scene.layout.GridPane;
    import javafx.stage.Stage;
    
    
    public class Tisch1 extends Application {
      GridPane pane1 = new GridPane(); 
      Scene szene_1 = new Scene(pane1, 600, 650);
    
      Label l0 = new Label("Menü");
    Label l1 = new Label("Vorspeise");
    Label l2 = new Label("Hauptspeise");
    Label l3 = new Label("Dessert");
    Label l4 = new Label("Getränke");
    
    Label l5 = new Label("Suppe");
    Label l6 = new Label("Bruschetta");
    Label l7 = new Label("Dip");
    
    Label l8 = new Label("Pide");
    Label l9 = new Label("Pizza");
    Label l10 = new Label("Pasta");
    
    Label l11 = new Label("Rote Grütze");
    Label l12 = new Label("Tiramisu");
    Label l13 = new Label("Eis");
    
    Label l14 = new Label("Bier");
    Label l15 = new Label("Wasser");
    Label l16 = new Label("Wein");
    
    ObservableList<String> Menge1 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge1 = new ComboBox<>(Menge1);
    
    ObservableList<String> Menge2 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge2 = new ComboBox<>(Menge2);
    
    ObservableList<String> Menge3 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge3 = new ComboBox<>(Menge3);
    
    ObservableList<String> Menge4 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge4 = new ComboBox<>(Menge4);
    
    ObservableList<String> Menge5 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge5 = new ComboBox<>(Menge5);
    
    ObservableList<String> Menge6 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge6 = new ComboBox<>(Menge6);
    
    ObservableList<String> Menge7 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge7 = new ComboBox<>(Menge7);
    
    ObservableList<String> Menge8 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge8 = new ComboBox<>(Menge8);
    
    ObservableList<String> Menge9 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge9 = new ComboBox<>(Menge9);
    
    ObservableList<String> Menge10 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge10 = new ComboBox<>(Menge10);
    
    ObservableList<String> Menge11 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge11 = new ComboBox<>(Menge11);
    
    ObservableList<String> Menge12 = FXCollections.observableArrayList("0", "1", "2", "3", "4", "5", "6", "7", "8", "9",
            "10");
    ComboBox<String> menge12 = new ComboBox<>(Menge12);
    
    Button b1 = new Button("Nächste Bestellung");
    Button b2 = new Button("Rechnung drucken");
    
    
      public void start (Stage Tisch1) {
      pane1.add(l1, 0, 1);
      pane1.add(l2, 0, 5);
      pane1.add(l3, 0, 9);
      pane1.add(l4, 0, 13);
    
      pane1.add(l5, 1, 1);
      pane1.add(l6, 1, 2);
      pane1.add(l7, 1, 3);
    
      pane1.add(l8, 1, 5);
        pane1.add(l9, 1, 6);
        pane1.add(l10, 1, 7);
    
        pane1.add(l11, 1, 9);
        pane1.add(l12, 1, 10);
        pane1.add(l13, 1, 11);
    
        pane1.add(l14, 1, 13);
        pane1.add(l15, 1, 14);
        pane1.add(l16, 1, 15);
    
        pane1.add(menge1, 2, 1);
        pane1.add(menge2, 2, 2);
        pane1.add(menge3, 2, 3);
        pane1.add(menge4, 2, 5);
        pane1.add(menge5, 2, 6);
        pane1.add(menge6, 2, 7);
        pane1.add(menge7, 2, 9);
        pane1.add(menge8, 2, 10);
        pane1.add(menge9, 2, 11);
        pane1.add(menge10, 2, 13);
        pane1.add(menge11, 2, 14);
        pane1.add(menge12, 2, 15);
    
        pane1.add(b1, 2, 17);
        pane1.add(b2, 3, 17);
    
        menge1.getSelectionModel().select("0");
        menge2.getSelectionModel().select("0");
        menge3.getSelectionModel().select("0");
        menge4.getSelectionModel().select("0");
        menge5.getSelectionModel().select("0");
        menge6.getSelectionModel().select("0");
        menge7.getSelectionModel().select("0");
        menge8.getSelectionModel().select("0");
        menge9.getSelectionModel().select("0");
        menge10.getSelectionModel().select("0");
        menge11.getSelectionModel().select("0");
        menge12.getSelectionModel().select("0");
    
        pane1.setPadding(new Insets(10));
        pane1.setHgap(12);
        pane1.setVgap(12);
    
        EventHandler<ActionEvent> Nächste_Bestellung = new EventHandler<ActionEvent>() {
              public void handle(ActionEvent event) {
                  Tisch1.close();
    
              }
            };
    
            EventHandler<ActionEvent> Rechnung_erstellen = new EventHandler<ActionEvent>() {
                  public void handle(ActionEvent event) {
    
                  }
                };
    
            b1.setOnAction(Nächste_Bestellung);
            b2.setOnAction(Rechnung_erstellen);
    
    Tisch1.setScene(szene_1);
    Tisch1.setTitle("Tisch 1");
    Tisch1.show();
      }
    
      public static void main(String[] args) {
    launch(args);
      }
    }
    
    interface Controller {
         Node getView();
    }
    
    class TableController {
       ...
    }
    
    class MainScreenController implements Controller, ReservationListener {
        private Restaurant model;
        private StackPane view;
        private List<TableController> children;
        public MainScreenController(Restaurant restaurant) {
            view = new StackPane();
            // compose this view from table views for each table
            for (Table table : model.getTables()) {
                 TableController controller = new TableController(table);
                 view.getChildren().add(controller.getView());
                 // when Reserve button is clicked in TableController, we want
                 // to receive reservation events here and update restaurant
                 // status
                 controller.addReservationListener(this);
            }
            // add more components here and subscriptions on events
        }
        // receives reservation events from tables
        public void tableReserved(Table table) { 
            ...
        }
    }
    
    class MyApplication extends Application {
       // a model that could be loaded from file or database
       private Restaurant restaurant = new Restaurant(); 
       // a controller for the main view
       private RestaurantController controller = new RestaurantController(restaurant);
       public void start(Stage stage) {
          // here you just initialize the stage with the view
          // from your main controller
          stage.setScene(new Scene(main.getView(), 400, 300));
          // you only need to show the root, the rest is already part of it
          stage.show(); 
       } 
    }