Java 获取JComboBox的选定对象位置

Java 获取JComboBox的选定对象位置,java,swing,drop-down-menu,jcombobox,Java,Swing,Drop Down Menu,Jcombobox,我试图将位置作为JComboBox对象的int来获取,ComboBox是生成的,并且有这样一个动作侦听器 for (int d=0; d<i; d++) { titulos.addItem(listaPraBox[d]); } ActionListener comboListener = new ActionListener() { public void actionPerformed(ActionEven

我试图将位置作为JComboBox对象的int来获取,ComboBox是生成的,并且有这样一个动作侦听器

for (int d=0; d<i; d++)
        {
            titulos.addItem(listaPraBox[d]);
        }

  ActionListener comboListener = new ActionListener() {
          public void actionPerformed(ActionEvent actionEvent) {
            ItemSelectable is =(ItemSelectable)actionEvent.getSource();     
            objectoseleccionado = selectedString(is);
            DeskMetodos.listaTexto(objectoseleccionado);        
          }
        };
    titulos.addActionListener(comboListener);
但我希望所选对象的位置通过该int从另一个数组中获取字符串

这可能吗?通过我的搜索,甚至没有提到这一点。

JComboBox定义。该实现只是在数据模型上循环使用getSelectedItem检查相等性

这并不构成ItemSelective,但数据模型本身也不构成,因此您可能需要使用具体的类。

JComboBox定义。该实现只是在数据模型上循环使用getSelectedItem检查相等性


这并不构成ItemSelective,但数据模型本身也不构成,因此您可能需要使用具体类。

而不是将项目存储在组合框中,并且必须使用索引引用另一个值数组。只需在ComboBox中存储一个对象,该对象的toString输出与当前显示的值匹配,并直接引用数组中的对象。这样,任何拉动所选项目或处理comobo框的对象都可以只拉动所需的值,而不必知道其他数组。

而不是将项目存储在组合框中,并且必须使用索引引用另一个值数组。只需在ComboBox中存储一个对象,该对象的toString输出与当前显示的值匹配,并直接引用数组中的对象。这样,任何拉动所选项目或处理comobo框的对象都可以拉动所需的值,而不必知道其他数组。

您能给我解释一下具体的类吗?我不太明白那是什么意思。在eclipse中,它给了我一个选项off addComponent comp,Index int。该组件可以是数组x位置的字符串吗?具体来说,我的意思是,您可能需要在侦听器代码中使用JComboBox,而不是ItemSelectable。对于JComboBox,最好是查找ItemListener,+1Ok,我得到了这个想法,并成功地实现了它。谢谢你能给我讲讲混凝土课吗?我不太明白那是什么意思。在eclipse中,它给了我一个选项off addComponent comp,Index int。该组件可以是数组x位置的字符串吗?具体来说,我的意思是,您可能需要在侦听器代码中使用JComboBox,而不是ItemSelectable。对于JComboBox,最好是查找ItemListener,+1Ok,我得到了这个想法,并成功地实现了它。谢谢这种方法的问题是重复的名字,我想,这就是为什么我需要我的位置。现在明白了。但我感谢您的洞察力。@幸运的是,这将解决重复名称问题,因为无论描述如何,每个位置都会有一个具有正确值的不同对象。该方法的问题是重复名称。我想,这就是我需要I位置的原因。现在明白了。但我感谢您的洞察力。@Lucky,这将解决重复名称问题,因为无论描述如何,每个位置都会有一个具有正确值的不同对象。
 static private String selectedString(ItemSelectable is) {
    Object selected[] = is.getSelectedObjects();

    return ((selected.length == 0) ? "null" : (String)selected[0]);
  }