展开全部
效果图e69da5e6ba9062616964757a686964616f31333363373135
两种方法进行判断是否是浮点数
第一种,正则表达式匹配,看是否是浮点数
第二种,用异常处理,看转换成double类型出不出异常
用jlabel.setText("") 来清空文本框
参考代码import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class InputFrame extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
JTextField jtf;
public InputFrame() {
JLabel jl = new JLabel("请输入浮点数");
jtf = new JTextField(10);
jtf.addActionListener(this);
add(jl);
add(jtf);
setLayout(new FlowLayout());
setTitle("窗口");
setSize(200, 130);
setLocationRelativeTo(null);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public void actionPerformed(ActionEvent e) {
// 方法一:用证正则表达式进行匹配,如果不符合浮点数就清空对话框
//String REG = "^(-?\\d+)(\\.\\d+)?$";
//if (jtf.getText().matches(REG)) {
//double d = Double.parseDouble(jtf.getText());
//jtf.setText(d + "");
//} else {
//jtf.setText("");// 清空文本框
//}
// 方法二:用异常处理来解决
try {
double d = Double.parseDouble(jtf.getText());
jtf.setText(d + "");
} catch (Exception ex) {
jtf.setText("");// 清空文本框
}
}
public static void main(String[] args) {
new InputFrame();
}
}