有没有办法只接受数字值JTextField?这有什么特别的方法吗?
我一直致力于个人项目,以便在编程方面做得更好.我的目标是让它更加强大,我刚刚开始.我是现任计算机科学专业的学生.无论如何,我正在努力制作一部分程序,如图所示.我计算小时工资并提供一些我尚未实施的产出.我正在使用DocumentListener,因此它会自动计算.当文本从一个盒子中完全删除时,我收到一个错误.我试图用if语句修复它:
if (tipMon.equals("") || tipMon == null) {
tipMon.setText("0");
}
Run Code Online (Sandbox Code Playgroud)
这是我到目前为止所拥有的.它还没有完成,我为noob代码道歉.我在两个月前开始实际编码.
import java.awt.GridLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
import javax.swing.event.DocumentEvent;
import javax.swing.event.DocumentListener;
import javax.swing.text.Document;
import javax.swing.text.FieldView;
public class deliveryDocListener extends JFrame implements ActionListener,
DocumentListener{
private JLabel mon, tues, wed, thurs, fri, sat, sun, hourlyWage, blank, row2, monWage,
tuesWage,wedWage,thursWage, friWage, satWage, sunWage, total, totalTips, totalHours,
totalHourlyEarnings, totalPay, weekPay;
private JTextField hourlyWageInput, tipMon, tipTues, tipWed, tipThurs, tipFri, tipSat, tipSun,
hourMon, hourTues, hourWed, hourThurs, …Run Code Online (Sandbox Code Playgroud) 所以我正在创建一个用户输入输入的应用程序,当他点击按钮时它执行一个命令,但是输入必须是一个整数,所以我添加了一个检查,但即使我输入一个整数也给了我一个错误说"你只能输入数字!"
继承我的代码:
String itemId = textField1.getText();
String itemAmount = textField2.getText();
int id = Integer.parseInt(itemId);
int amount = Integer.parseInt(itemAmount);
if (!Double.isNaN(id) || !Double.isNaN(amount)){
JOptionPane.showMessageDialog(
null, "You can only enter numbers!"
);
Run Code Online (Sandbox Code Playgroud)
即使我输入数字到textFields我仍然无法通过此测试,为什么以及如何解决这个问题?谢谢.