【问题标题】:How do i get the input from TextField?如何从 TextField 获取输入?
【发布时间】:2019-12-17 11:39:09
【问题描述】:

我正在尝试使用 Netbeans 制作一个简单的计算器 GUI。

如何从angka1angka2operator1输入整数和字符串,以便在private void btnHitungMouseClicked(java.awt.event.MouseEvent evt)中使用

private void angka1ActionPerformed(java.awt.event.ActionEvent evt) {                                       
            nilai1=Integer.parseInt(angka1.getText());
        }
private void angka2ActionPerformed(java.awt.event.ActionEvent evt) {                                       
                nilai2=Integer.parseInt(angka2.getText());
    }
private void operator1ActionPerformed(java.awt.event.ActionEvent evt) {                                          
       operator=operator1.getText();
    }




private void btnHitungMouseClicked(java.awt.event.MouseEvent evt) {                                       
        double jawaban=0;
        if(operator=="+")
            jawaban=nilai1+nilai2;
        else if(operator=="-")
            jawaban=nilai1-nilai2;
        else if(operator=="*")
            jawaban=nilai1*nilai2;
        else if(operator=="/")
            jawaban=nilai1/nilai2;            
        String hasil=Double.toString(jawaban);

        txtHasil.setText(hasil);

这是我正在尝试制作的 GUI:

正如您所看到的,它似乎不起作用。我希望 GUI 能够在我输入数字时在 TextField 中给出正确的结果,并且在上面的 TextField 中也输入一个运算符。请帮忙。

【问题讨论】:

    标签: java user-interface netbeans netbeans-8


    【解决方案1】:

    operator=='+' 不比较字符串。它检查对象。
    通过右键单击 Hitung 按钮 Events>Mouse>MouseClicked

    创建 MouseClicked 事件
      private void HitungMouseClicked(java.awt.event.MouseEvent evt) {                                    
         nilai1 = Integer.parseInt(angka1.getText());
         nilai2=Integer.parseInt(angka2.getText());
         operator=operator1.getText();
    
         double jawaban=0;
        if(operator.equalsIgnoreCase("+"))
            jawaban=nilai1+nilai2;
        else if(operator.equalsIgnoreCase("-"))
            jawaban=nilai1-nilai2;
        else if(operator.equalsIgnoreCase("*"))
            jawaban=nilai1*nilai2;
        else if(operator.equalsIgnoreCase("/"))
            jawaban=nilai1/nilai2;            
        String hasil=Double.toString(jawaban);
    
        txtHasil.setText(hasil);
    
    } 
    

    【讨论】:

    • 你能提供一个大写/小写“+”的例子吗?还是这些符号中的任何一个?
    • 没有大写/小写“+”。你也可以使用equals()。
    【解决方案2】:

    试试这个;

    private void btnHitungMouseClicked(java.awt.event.MouseEvent evt) {
           nilai1=Integer.parseInt(angka1.getText()); 
           nilai2=Integer.parseInt(angka2.getText()); 
           operator=operator1.getText();                                     
            double jawaban=0;
            if(operator=="+")
                jawaban=nilai1+nilai2;
            else if(operator=="-")
                jawaban=nilai1-nilai2;
            else if(operator=="*")
                jawaban=nilai1*nilai2;
            else if(operator=="/")
                jawaban=nilai1/nilai2;
            else{}            
            String hasil=Double.toString(jawaban);
    
            txtHasil.setText(hasil);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 2022-01-14
      • 1970-01-01
      • 2014-12-21
      • 1970-01-01
      相关资源
      最近更新 更多