这是我的jComboBox:
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);
}
我希望选择3
或4
的值并将其转换为float
?
这就是我的尝试:
a = Float.parseFloat(jComboBox1.getActionCommand());
但它似乎没有起作用。
答案 0 :(得分:1)
您需要使用JComboBox
以外的值,而不是动作命令。特别致电:getSelectedItem()
。
如果您只使用Floats作为选项,则可以将组合框中的值作为Float对象放置,这样您就不必在出路时解析它。
示例:
JComboBox<Float> box = new JComboBox<Float>();
box.addItem(3f);
box.addItem(4f);
// something
Float selected = box.getItemAt(box.getSelectedIndex());
答案 1 :(得分: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);
}
}
});