Java从组合框引用数据

时间:2016-05-17 05:23:21

标签: java string jcombobox

嘿,你们寻求帮助!我需要能够引用和隔离列表中的字符串,以便将它们转换为变量名称。

String[] planeTitles = new String[] {"Focke-Wulf Fw 190", "Messerschmitt Bf 109","Messerschmitt Me 262", "Supermarine MKs 24 Spitfire",
                                "Yakovlev Yak-3", "Vought F4U Corsair", "Lockheed P-38 Lightning", "North American P-51 Mustang", "Mitsubishi A6M Zero"};


JComboBox<String> planeList = new JComboBox<>(planeTitles);


          add(planeList);

为了从该列表中抽取我正在使用......

String selectedPlane = (String) planeList.getSelectedItem();

例如,当用户在框中选择它并将其转换为相等时,我需要能够从列表中隔离“Focke-Wulf Fw 190”...

double fw190; 

我不是要尝试改变变量的名称,而只是将字符串放到我可以为以后的数据比较分配值的位置。

任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

您可以考虑创建一个枚举,每个元素都包含字符串表示(在组合中使用)和数据比较值。

public enum PlaneEnum
{
  FOCKE_WULF_190("Focke-Wulf Fw 190", 190),
  MESSERSCHMITT_109("Messerschmitt Bf 109", 109),
  ....

  public String toString()
  {
    return (myDescr);
  }

  public double getValue()
  {
    return (myValue);
  }

  private PlaneEnum(String description,
                    double value)
  {
    myDescr = description;
    myValue = value;
  }

  private String myDescr;
  private double value;

} // enum PlaneEnum

JComboBox<PlaneEnum> = new JComboBox<PlaneEnum>(PlaneEnum.values);