java - 如何将输出传递给另一个 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);
我怎样才能做到这一点?如何将这些数据传递给另一个类?谢谢
解决方案
如何在 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);
}
}
然后,如果您想稍后使用它们,例如按下另一个按钮时,您将能够做到。
希望这是您所要求的... :)
推荐阅读
- python-3.x - Python OOP 和递归:什么时候放“self”,什么时候不放
- javascript - 如何编写一个函数来检查井字游戏 js 中的获胜者?
- regex - QRegExp 用法:如何从 html 字符串中获取图像名称?
- c++ - 在扩展已知类的未知类中调用函数
- php - ACF 功能不显示
- php - 来自控制器 Codeigniter 的复选框未显示在数据表 ajax 调用中
- c++ - C++ 数组指针如何具有不同的位置,但指向同一个元素?
- windows - git show HEAD~1:.gitignore 命令导致 Windows 64 位中出现奇怪的字符
- bash - 如何使用带有 filter_complex 的 FFMPEG 将包含 40 多个音频文件的完整文件夹组合/加入到一个长 mp3 中?
- python - 无法将变量从有效负载传递到python中的url