如何从JComboBox中的选定项目中获取包含2个项目的数组?

时间:2014-04-12 03:27:54

标签: java swing netbeans arraylist jcombobox

我有ArrayList<ArrayList<Object>> Suppliers。每个ArrayList<Object>都有2个元素,一个int(一个id和id可能不是彼此连续的。)和一个字符串(一个名字)。 现在在JComboBox中,我创建了一个DefaultComboBoxModel,其中包含主ArrayList'供应商'。

jcbSuppliers.setModel (new DefaultComboBoxModel (suppliersdata.Suppliers.toArray ()));

JComboBox向我展示了每个元素,如[1,本地供应商],[2,外部供应商],[4,其他供应商]。

Capture 1

在NetBeans调试中,我对jcbSuppliers进行了监视。变量窗口向我显示jcbSuppliers的每个元素都是一个带有2个对象的ArrayList。

Capture 2

现在我的问题是:

如何获取这两个项目或这两个对象的数组,但是选择的对象或项目?

我很感激帮助。非常感谢你。

1 个答案:

答案 0 :(得分:2)

  • 首先,我必须向Flextra及其评论致敬,因为Spring可以帮助您解耦代码,使其更容易增强和调试。
  • 接下来我建议您重新考虑当前的模型设置。我建议您创建一个自定义类来保存每个供应商所需的两个数据,而不是从嵌套的ArrayLists开始。
  • 然后创建此自定义类的非嵌套 ArrayList。
  • 然后你可以告诉JComboBox如何显示你自己的对象,给它一个toString()方法,显示你喜欢的信息,
  • 或者为JComboBox提供一个自定义单元格渲染器,用于显示您喜欢的信息。
  • 然后当选择组合框时,如果你得到selectedItem,它将是你的类的一个对象,并且很容易提取两个相关的信息。
相关问题