2013-12-17 57 views
0

這是我的JComboBox:正從jcombo框數據並將其轉變成浮動

jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "3", "4" })); 

    jComboBox1.addActionListener(new java.awt.event.ActionListener() { 
     public void actionPerformed(java.awt.event.ActionEvent evt) { 
      jComboBox1ActionPerformed(evt); 
     } 

我想要得到的價值選擇是34並將其轉換成float

這是我曾嘗試:

a = Float.parseFloat(jComboBox1.getActionCommand()); 

,但似乎並不奏效。

回答

1

可以得到選擇的對象(getSelectedItem()方法),並將其轉換爲Float像下一個:

Object o = jComboBox1.getSelectedItem(); 
Float floatValue = Float.valueOf(o.toString()); 
System.out.println(floatValue); 

或在運行時需要使用ItemListener

jComboBox1.addItemListener(new ItemListener() { 

     @Override 
     public void itemStateChanged(ItemEvent event) { 
      if(event.getStateChange() == ItemEvent.SELECTED){ 
       Object o = event.getItem(); 
       Float floatValue = Float.valueOf(o.toString()); 
       System.out.println(floatValue); 
      } 
     } 
}); 
+0

讓我試試@ alex2410 – user3112463

1

您需要使用JComboBox以外的值,而不是操作Command。特別要求:getSelectedItem()

How to use Combo Boxes

如果你只用浮標作爲選項,你可以把值在組合框中爲Float對象,這樣你就不必分析它的出路。

例子:

JComboBox<Float> box = new JComboBox<Float>(); 
    box.addItem(3f); 
    box.addItem(4f); 

    // something 


    Float selected = box.getItemAt(box.getSelectedIndex()); 
+0

它說對象不能轉換成字符串@jzd – user3112463

+0

是的,getSelectedItem()返回一個Object。 – jzd

相關問題