Java 如何将双值写入JTextField?

Java 如何将双值写入JTextField?,java,swing,double,jtextfield,Java,Swing,Double,Jtextfield,我想输入一个价格并将其写入一个文本文件,但它给出了一个“double Can Can Dereference”错误 这是我的代码片段 String id = "P" + ProductID.getText(); String name = ProductName.getText(); String brand = ProductBrand.getText(); String model = ProductModel.getText(); String type = ProductType.get

我想输入一个价格并将其写入一个文本文件,但它给出了一个“double Can Can Dereference”错误

这是我的代码片段

String id = "P" + ProductID.getText();
String name = ProductName.getText();
String brand = ProductBrand.getText();
String model = ProductModel.getText();
String type = ProductType.getText();
double price = Double.parseDouble(ProductPrice.getText());

if (id.isEmpty() || name.isEmpty() || brand.isEmpty() || model.isEmpty() || type.isEmpty() || price.isEmpty())
{
    JOptionPane.showMessageDialog(null, "Please Fill In Everything!", "Error", JOptionPane.ERROR_MESSAGE);
}

price
double
的基本类型-它不是对象。因此,您不能对其执行类似于
.xxx()
的操作

例如,您可以检查

if(price != 0.0)
试试看:

String tmp = ProductPrice.getText();
if(tmp.isEmpty()) // error
else{
double price = Double.parseDouble(tmp);
// do something
}

答案很好,但不应该在双精度上使用equals运算符。数学很奇怪。最好的做法是在调用parseDouble的地方放一个try-catch块。如果您在这里得到ParseException,您可以/应该向用户显示一条消息,说明他们没有在此字段中输入有效的数字