java将值从一个类返回到另一个类
class1-保存坐标的动态值,并希望将这些值返回给class2的函数
public class NewJFrame extends javax.swing.JFrame {
public NewJFrame() {
initComponents();
}
ArrayList<Integer> al= new ArrayList<Integer>();
private void jLabel1MouseClicked(java.awt.event.MouseEvent evt) {
int x= evt.getX();
int y= evt.getY();
al.add(x);
al.add(y);
System.out.println("hi1"+al);
}
public ArrayList<Integer> cord()
{
System.out.println("hi2"+al);
return al;
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new NewJFrame().setVisible(true);
}
});
}
private javax.swing.JLabel jLabel1;
}
类别2
public class JavaApplication13 {
public void hello()
{
NewJFrame j= new NewJFrame();
ArrayList<Integer> al=j.cord();
System.out.println("hi3"+al);
}
public static void main(String[] args) {
JavaApplication13 j= new JavaApplication13();
j.hello();
}
}
我想返回从1类到2类的x和y坐标值。但它显示为空。救命啊
# 1 楼答案
在
NewJFrame
类中使ArrayList<Integer> al
公共静态,在JavaApplication13
中读取System.out.println("hi3"+NewJFrame.al.get())
。当然,这只是千万种方法中的一种,你的代码有一些问题:你不能(我想你会从ArrayList中得到一些值)做"hi3"+al