Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从JTextField中逐个获取2个不同的整数值_Java_Swing_Jtextfield - Fatal编程技术网

Java 如何从JTextField中逐个获取2个不同的整数值

Java 如何从JTextField中逐个获取2个不同的整数值,java,swing,jtextfield,Java,Swing,Jtextfield,我正在用swing用java准备一个计算器,我有几个数字按钮和操作按钮,假设当我按7时,7在TextField上打印,然后我按“*”,结果7被删除,再次按3,3被打印,我按“=”,然后我的答案是49而不是21 这是我的密码: //ob16 is a button for '*'operation & adding an action// ob16.addActionListener(new ActionListener() { public void actionPerforme

我正在用swing用java准备一个计算器,我有几个数字按钮和操作按钮,假设当我按7时,7在TextField上打印,然后我按“*”,结果7被删除,再次按3,3被打印,我按“=”,然后我的答案是49而不是21

这是我的密码:

//ob16 is a button for '*'operation & adding an action//
ob16.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e) {
        // for getting the 1st integer from textfield //

        String v = textField.getText();
        // changing the type for performing '*' operation//

        final int y = Integer.parseInt(v);

        // defining the class's object which is having method asap1()//
        asap k = new asap();

        k.asap1();

        // for getting the 2nd integer from Text field//  
        String l = textField.getText();

        final int j = Integer.parseInt(y);

        //ob22 is a '=' button & adding an event for it//

        ob22.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                int m = y * j;
                System.out.println("" + m);
                textField.setText("" + m);
            }
        });
    }
});
ob.setVisible(true);// ob is a frame//
…
class asap extends mini {

    public void asap1() {

        //ob2 is a Backspace button in my calculator & adding an event for it//     
        ob2.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                textField.setText(null);
            }
        });
    }
}

我知道为什么我得到了错误的答案,但我想知道执行此操作的正确步骤。

您正在另一个
ActionListener
中添加一个
ActionListener
,因此每次调用+按钮的操作时,它都会为=按钮创建一个新的操作侦听器。这将导致=按钮具有多个操作侦听器。

正确粘贴代码。完全是梅西,我不知道如何从jtextfield中获取两个不同的值,我正在准备计算器,我不能执行乘法运算。我想了解的是,让我们假设我们按下任何一个数字。从计算器中,它出现在textfield上,然后我们按下“*”按钮,我们以前的数字消失,然后我们按下其他数字,它再次出现在jtextfield上,我们按下“=”键,然后我们的ans(2个产品)应该会出现在屏幕上,有人能指导怎么做吗,我是swing新手。你为什么不看看?它提供了一个工作示例,正如您所描述的。非常感谢您,它真的帮助了我