0

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();
    }
}

class1 から class2 に x 座標と y 座標の値を返したいとします。しかし、それはnullを表示します。ヘルプ。

4

1 に答える 1

0

NewJFrameクラスArrayList<Integer> alで public static を作成し、それを読み取りJavaApplication13ますSystem.out.println("hi3"+NewJFrame.al.get())。もちろん、このアプローチはそれを行う方法の千兆の方法の 1 つにすぎず、コードにはいくつかの問題があります"hi3"+al

于 2013-03-23T11:18:57.390 に答える