如何使JTextField成为String / Long?

时间:2014-10-27 12:10:53

标签: java swing parsing methods jtextfield

目前我的字段是这样的:

 final JTextField PID = new JTextField("Product ID", 7);
 frame.getContentPane().add(PID);

我的方法:

public StockItem(Long id, String name, String desc, double price) {
    this.id = id;
    this.name = name;
    this.description = desc;
    this.price = price;
}   

尝试将此方法与我JTextField的值一起使用,但不允许在我的Long / String / double位置使用JTextField。 有没有什么方法可以在不编辑我的方法的情况下将JTextField转换成所需的东西。

2 个答案:

答案 0 :(得分:1)

您应该使用文本字段文本并解析它。

long l = Long.parseLong(PID.getText());
double d = Double.parseDouble(PID.getText());

答案 1 :(得分:0)

是的,您可以使用 PID.getText()来获取文本,然后您可以将其转换为您想要的任何内容,例如:

try{
    long id = Long.parseLong(PID.getText());
    String name = PNAME.getText();
    String description = PDESC.getText();
    double price = Double.parseDouble(PPRICE.getText());
}catch(Exception e){}

我使用了 try-catch 块,因为如果用户在PID中输入其他内容而不是long,那么它将捕获异常。