簡體   English   中英

如何從JComboBox中的選定項目中獲取包含2個項目的數組?

[英]How I can get an array with 2 items from a selected item in a JComboBox?

我有一個ArrayList<ArrayList<Object>> Suppliers 每個ArrayList<Object>具有2個元素,一個int(一個id和該id可能彼此不順序。)和一個字符串(一個名稱)。 現在在JComboBox中,我創建一個DefaultComboBoxModel,其中包含主要的ArrayList'Suppliers'。

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

JComboBox向我顯示每個元素,例如[1,本地供應商],[2,外部供應商],[4,其他供應商]。

捕捉1

在NetBeans調試中,我將監視放在jcbSuppliers上。 變量窗口向我顯示jcbSuppliers的每個元素都是一個帶有2個對象的ArrayList。

捕獲2

現在我的問題是:

如何獲得這2個項目或這2個對象的數組,但如何獲得所選對象或項目的數組?

我會很感激的。 非常感謝你。

  • 首先,我確實要對Flextra和他的評論表示敬意,因為Spring可以幫助您分離代碼,從而使增強和調試更加容易。
  • 接下來,我建議您重新考慮當前的模型設置。 我建議您創建一個自定義類來保存每個供應商所需的兩部分數據,而不是從嵌套的ArrayList開始。
  • 然后創建此自定義類的非嵌套 ArrayList。
  • 然后,您可以通過給它一個toString()方法來告訴JComboBox如何顯示其中一個對象,該方法可以根據需要顯示信息,
  • 或為JComboBox提供自定義單元格渲染器,以根據需要顯示信息。
  • 然后,當選擇組合框時,如果您獲得了selectedItem,它將成為您類的對象,並且很容易提取兩條相關的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM