【发布时间】:2018-12-03 20:15:46
【问题描述】:
我有你在下面看到的这个 ArrayList。我希望将我的 ArrayList 分为三列,其中一列显示项目的“类别”,例如比萨饼或汉堡,其中一个显示名称,例如玛格丽特,还有一个显示价格。此外,我希望每个项目都有一行,所以 12 行。我试图将我的 ArrayList 的内容输入到 GridPane 中,但我根本无法让它工作。
public abstract class MenuItem {
private String name;
private double price;
public MenuItem(String name, double price) {
this.name = name;
this.price = price;
}
public void setName(String name) {
}
public String getName() {
return name;
}
public void setPrice(double price) {
}
public double getPrice() {
return price;
}
public class OrderMenu {
private ArrayList<MenuItem> menuItems;
public OrderMenu(){
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));
menuItems.add(new Burger("Burger", 60));
menuItems.add(new Burger("Cheeseburger", 65));
menuItems.add(new Burger("Baconburger", 60));
menuItems.add(new Soda("Coca cola", 25));
menuItems.add(new Soda("Coca cola light", 25));
menuItems.add(new Soda("Fanta", 25));
menuItems.add(new Soda("Faxe kondi", 25));
}
【问题讨论】:
-
TableView 更适合您描述的目的。
-
我已经把它做成了一个tableview我只是对它的外观不太满意,所以我希望有另一个选择:)
-
外观和控制没有耦合。
TableView是最符合逻辑的控件。如果你想定制它,你可以很容易地做到这一点。查看此站点上的 JavaDocs 或其他问题。如果您找不到方法来做您想做的事,请询问有关自定义TableView外观的问题。