如何在Netbeans中调用从主要到我的Jframe的Getter方法?

时间:2018-03-18 16:50:58

标签: java swing

我坚持使用我想要做的这些代码。我有一个程序,我在Netbeans工作,主要的java表单和一个像弹出窗口一样的JFrame。框架上有一个按钮,用于打印我在主要内容中放入Getter方法的值。一旦我运行程序并单击程序崩溃的按钮,代码中没有错误,这就是我得到的:

"Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: 
empty String
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1842)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)"

这是我的主要代码:`

    public void Iva(){

    float tiv = Float.parseFloat(tiva);     // tiva is a global, String type variable

    if("Papeleria".equals(tiva)){

        iva = (float) (tiv*0.16);      // iva is a global Float type variable 

    }

    if("Supermercado".equals(tiva)){
         iva = (float) (tiv*0.12);
    }

    if("Supermercado".equals(tiva)){

         iva = (float) (tiv*0.14);
    }
    ivi = Float.toString(iva);     // ivi is a global, String type variable
}

public String getIva() {
    Iva();
    return ivi;
}

这就是我在Frame中为ActionPerformed所获得的:

private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {

    /*taiva is the text area where i want to show iva
    mainy is what i called the main's class*/

    taiva.setText(mainy.getIva()); 
}    

1 个答案:

答案 0 :(得分:0)

你的程序在这行代码上失败了:

tiva

您正在尝试解析一个空字符串NumberFormatException),这会导致float tiv = 0; if (!tiva.isEmpty()) { tiv = Float.parseFloat(tiva); } else { tiv = 0; }

您可以使用if语句来避免此问题,如下所示:

{{1}}

希望这会有所帮助;)