我有一个类,它包含菜单项的属性。我需要填充三个JLists。我怎么能这样做?

时间:2016-04-03 13:21:16

标签: java swing class jframe jlist

菜单项的MenuItem类中的属性包括名称,价格,卡路里和描述。这三个JList组件称为startersListmainsListdessertsList,位于名为JFrame的{​​{1}}

目前,我已使用以下方式填充了列表:

foodOptionGUI

(这只是一个临时修复)

我的问题是我不知道如何将所有的开胃菜,主菜和甜点(包括名称,价格,卡路里和描述)列入三个单独的清单。

startersList.setListData(starters);

1 个答案:

答案 0 :(得分:1)

startersList.addMenuItem("soup", "3", "300", "soup of the day"); 
  

但它的错误和无效

JList没有" addMenuItem"方法。

您向ListModel添加数据。然后,您将ListModel添加到JList

阅读How to Use Lists上Swing教程中的部分,了解可以下载的演示代码。

在演示代码String中,数据已添加到ListModel。在您的情况下,您希望向模型添加MenuItem对象,因此在将其添加到模型之前,首先需要创建每个MenuItem对象的实例。

因此教程和代码中代码的基本区别在于:

listModel = new DefaultListModel();
listModel.addElement( new MenuItem(values for item 1) );
listModel.addElement( new MenuItem(values for item 2) );
list = new JList(listModel);