首页 > 解决方案 > 如何将输出传递给另一个 Java 类?

问题描述

我是 Java 新手,我想将一些输出传递到 Java 中的当前类之外。首先,我要求用户输入一些数字并存储为字符串。然后将它们转换为整数。我想做的是将这些值转化为一些方法。这是我的代码。

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Main extends JFrame {
    JTextField x = new JTextField("X",5);
    JTextField y = new JTextField("Y",5);
    JTextField z = new JTextField("Z",5);
    JButton chk = new JButton("Check");
    public Main(){
        JPanel newPanel = new JPanel();
        newPanel.add(x);
        newPanel.add(y);
        newPanel.add(z);
        newPanel.add(chk);
            chk.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    //These are the values I want to pass
                    int xi = Integer.parseInt(x.getText());
                    int yi = Integer.parseInt(y.getText());
                    int zi = Integer.parseInt(z.getText());
                    System.out.printf("you data is %d\n",xi);
                    System.out.printf("Your data is %d\n",yi);
                    System.out.printf("you data is %d",zi);
                }
            });
        add(newPanel);
        pack();
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[]args) {
        new Main().setVisible(true);
    }
}

如您所见,我想将这些输出(即 xi、yi 和 zi)传递给另一个类。比如跟...

int result = xi+yi+zi;
System.out.println(result);

我怎样才能做到这一点?如何将这些数据传递给另一个类?谢谢

标签: java

解决方案


如何在 main 中创建 3 个局部变量,您将能够在整个函数中使用它们?正如我所见,您声明的变量仅在事件函数中可用。

import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Main extends JFrame {
    JTextField x = new JTextField("X",5);
    JTextField y = new JTextField("Y",5);
    JTextField z = new JTextField("Z",5);
    int xi,yi,zi; //new variables to use later on
    JButton chk = new JButton("Check");
    public Main(){
        JPanel newPanel = new JPanel();
        newPanel.add(x);
        newPanel.add(y);
        newPanel.add(z);
        newPanel.add(chk);
            chk.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    //storing the values in the ""global"" variables
                    xi = Integer.parseInt(x.getText());
                    yi = Integer.parseInt(y.getText());
                    zi = Integer.parseInt(z.getText());
                    System.out.printf("you data is %d\n",xi);
                    System.out.printf("Your data is %d\n",yi);
                    System.out.printf("you data is %d",zi);
                }
            });
        add(newPanel);
        pack();
        setLocationRelativeTo(null);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
    public static void main(String[]args) {
        new Main().setVisible(true);
    }
}

然后,如果您想稍后使用它们,例如按下另一个按钮时,您将能够做到。

希望这是您所要求的... :)


推荐阅读