有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    NewJFrame类中使ArrayList<Integer> al公共静态,在JavaApplication13中读取System.out.println("hi3"+NewJFrame.al.get())。当然,这只是千万种方法中的一种,你的代码有一些问题:你不能(我想你会从ArrayList中得到一些值)做"hi3"+al