2016-07-13 6 views
-2

私はあるクラスでarraylistを作成しました。そして、JButtonをクリックして別のパネルと別のクラスに切り替えると、そのパネルにアクセスして乱数を生成できるようにしたいのです。どうやってやるの?別のクラスからArrayListにアクセスするにはどうしたらいいですか?

ArrayList<Integer> hiraganaArray = new ArrayList<Integer>(); 

OCheckBox.addItemListener(new ItemListener() { 
     public void itemStateChanged(ItemEvent e) { 
      if(e.getStateChange() == ItemEvent.SELECTED) { 
       hiraganaArray.add(1); 
       hiraganaArray.add(2); 
       hiraganaArray.add(3); 
       hiraganaArray.add(4); 
       hiraganaArray.add(5); 
      } 
      else { 
       hiraganaArray.removeAll(Arrays.asList(1)); 
       hiraganaArray.removeAll(Arrays.asList(2)); 
       hiraganaArray.removeAll(Arrays.asList(3)); 
       hiraganaArray.removeAll(Arrays.asList(4)); 
       hiraganaArray.removeAll(Arrays.asList(5)); 
      } 
     } 

startButton = new JButton("Start"); 
    startButton.setPreferredSize(new Dimension(100, 40)); 
    gbc.gridx = 3; 
    gbc.gridy = 13; 
    add(startButton, gbc); 

    startButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      layout.show(panelCont, "6"); 
     } 
    }); 

私はJButtonののアクション・リスナーに

System.out.println(hiraganaArray.get(r.nextInt(hiraganaArray.size()))); 

を追加するとき、それは非常によく働いているが、他のクラスで使用した場合と同じコードが動作しません。

答えて

-1

私はそれを理解しました!あなたは本当に静的変数が何であるかをよく読んでなければならない

System.out.println(HiraganaClass.hiraganaArray.get(r.nextInt(HiraganaClass.hiraganaArray.size()))); 
+0

:への第二のクラスに

static ArrayList<Integer> hiraganaArray; public ArrayList<Integer> getHiraganatArray() { return hiraganaArray; } 

そしてコード:私はにファーストクラスのコードを変更する必要がありました。あなたの "ソリューション"はおそらく多くの問題を引き起こします。 –

+0

問題なく動作しているようです。あなたは精緻化できますか? – PaladinButters

関連する問題