Глядя на ваш код, я не вижу, где вы пытаетесь использовать элементы меню, которые вы создаете в своем классе OrderMenu.Я не думаю, что вы имеете в виду, что они являются элементами меню javafx.Кроме того, вы, кажется, не создаете экземпляры своих личных полей, поэтому я предполагаю, что все они просто равны нулю, когда вы пытаетесь их использовать.
Вот упрощение того, что у вас есть, которое отображает список пиццы и ценына сетке.Я ничего не добавил в размер приложения, поэтому оно будет выглядеть немного сжатым.
Основное приложение
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.GridPane;
import javafx.stage.Stage;
public class PizzaOrderingSystem extends Application {
@Override
public void start(Stage stage) {
GridPane grid = new GridPane();
int row = 0;
for (OrderItem item : OrderMenu.getItems()) {
grid.add(new Label(item.getName()), 0, row);
grid.add(new Label(String.valueOf(item.getPrice())), 1, row);
row++;
}
BorderPane borderPane = new BorderPane();
borderPane.setCenter(grid);
stage.setTitle("Pizza Ordering System");
stage.setScene(new Scene(borderPane));
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Интерфейс для OrderItem
public interface OrderItem {
public String getName();
public int getPrice();
}
класс Pizza, который реализует OrderItem
public class Pizza implements OrderItem {
private String name;
private int price;
public Pizza(String name, int price) {
this.setName(name);
this.setPrice(price);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
и OrderMenu со статическим методом для получения списка элементов заказа.
import java.util.ArrayList;
import java.util.List;
public class OrderMenu {
public static List<OrderItem> getItems(){
List<OrderItem> menuItems = new ArrayList<>();
menuItems.add(new Pizza("Margherita", 50));
menuItems.add(new Pizza("Hawaii", 55));
menuItems.add(new Pizza("Marinara", 70));
menuItems.add(new Pizza("Meat Lovers", 70));
menuItems.add(new Pizza("Calzone", 60));
return menuItems;
}
}