这看起来不错,你在正确的价值观在你的文本框,你测试前输入它?举例来说,如果你把它留空或键入“1,3”,它不会接受它。
编辑:我只是做了一个试验,正如我所说的,它只接受这样的价值观:“1.3”
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
public class MyApp extends JFrame implements ActionListener {
JTextField textField;
JLabel label;
JButton okButton;
public MyApp() {
textField = new JTextField(4);
label = new JLabel("N/A");
okButton = new JButton("Ok");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
setLayout(new BorderLayout());
add(textField, BorderLayout.NORTH);
add(label, BorderLayout.CENTER);
add(okButton, BorderLayout.SOUTH);
okButton.addActionListener(this);
pack();
}
public static void main(String[] args) {
MyApp app = new MyApp();
app.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
if(e.getSource() == okButton) {
double d = 0;
d = Double.parseDouble(textField.getText());
label.setText(String.valueOf(d));
}
}
}
你的代码示例说明的摇摆(和GUI环境一般)是如何工作的,考虑提供一个[可运行示例](https://stackoverflow.com/help/mcve),这表明你的问题可能的误解。这将导致更少的混乱和更好的反应 – MadProgrammer 2014-09-02 04:26:23
您在文本字段中输入的内容类型的字符串,它包含数字只有12345或12ASDA,是U越来越java.lang.NumberFormatException – mussdroid 2014-09-02 07:53:44