事件类如下:
package view1;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.sql.Timestamp;
import javax.swing.JOptionPane;
import view.AddEquipment;
public class EAControl implements ActionListener,ItemListener {
private AddEquipment eq;
public EAControl(AddEquipment equipment) {
eq=equipment;
}
public void actionPerformed(ActionEvent e) {
int big=eq.bigcbx.getSelectedIndex();
int small=eq.smallcbx.getSelectedIndex();
int stute=eq.stutecbx.getSelectedIndex();
String name=eq.nametex.getText().trim();
String model=eq.modeltex.getText().trim();
float value=Float.valueOf(eq.valuetex.getText().trim()).floatValue();
String remark=eq.notetex.getText().trim();
Object button=e.getSource();
if (button==eq.addbtn)
{
}
if (button==eq.cancelbtn)
{
eq.nametex.setText("");
eq.modeltex.setText("");
eq.notetex.setText("");
eq.valuetex.setText("");
eq.datetex.setText("");
return;
}
}
public void itemStateChanged(ItemEvent e){
//JOptionPane.showMessageDialog(null,"响应按钮单击事件1");
Object big=e.getItem();
if (big.equals("办公室外设"))
{
eq.smallchange(1);
}
if (big.equals("数码产品"))
{
eq.smallchange(2);
}
if (big.equals("计算机"))
{
eq.smallchange(3);
}
itemStateChanged事件能执行
把float value=Float.valueOf(eq.valuetex.getText().trim()).floatValue();这句话去掉,就正常了,不知道是不是这句话有错误从书上抄的。错误提示:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String
at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
at java.lang.Float.valueOf(Unknown Source)
at view1.EAControl.actionPerformed(EAControl.java:20)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
异常提示的就是你需要格式化的是个空串(""),不能转换成float格式。
float value=Float.valueOf(eq.valuetex.getText().trim()).floatValue();可以修改下
String valuetex = eq.valuetex.getText().trim());
if("".equals(valuetex )){
valuetex = "0";
}
float value = Float.valueOf(valuetex).floatValue();本回答被网友采纳
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: empty String 这句话已经告诉你了
float value=Float.valueOf(eq.valuetex.getText().trim()).floatValue();这句代码中eq.valuetex.getText().trim()为空导致程序报错,要检查一下