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;
}
的Class2
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();
}
}
我想将class1中的x和y坐标值返回给class2。但它显示为null。救命。
答案 0 :(得分:0)
在NewJFrame
班级中设置ArrayList<Integer> al
公共静态,并在JavaApplication13
中读取System.out.println("hi3"+NewJFrame.al.get())
。当然,这种方法仅仅是千万亿次的方法,而且你的代码存在一些问题:你不能(我认为你是goind从ArrayList获得一些价值)做"hi3"+al
。