2017-03-20 17 views
1

配列で値を取得したいと考えています。後で別のクラスで配列を使いたいと思います。これはどうすればできますか?文字列をArrayListとして使用し、別のクラスで使用する

table.addMouseListener(new MouseAdapter() { 
      public void mouseClicked(MouseEvent e) { 
       if (e.getClickCount() == 1) { 
        JTable target = (JTable) e.getSource(); 
        int row = target.getSelectedRow(); 
        int column = target.getSelectedColumn(); 

        row = table.convertRowIndexToModel(row); 
        String val1 = (String) table.getModel().getValueAt(row, 0); 
        String val2 = (String) table.getModel().getValueAt(row, 1); 
        String val3 = (String) table.getModel().getValueAt(row, 2); 
        String val4 = (String) table.getModel().getValueAt(row, 3); 
        String val5 = (String) table.getModel().getValueAt(row, 4); 

        System.out.println(val1 + " " + val2 + " " + val3 + " " + val4 + " " + val5); 
       } 
      } 
     }); 
+0

さて、あなたは配列とループを使用する方法を学びましたか? – RealSkeptic

+0

[documentation](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html)をご覧ください。他のクラスで使用する場合は、配列参照をそのクラスに渡すだけで済みます。詳細は[こちら](https://docs.oracle.com/javase/tutorial/java/javaOO/arguments.html)をご覧ください。 –

+0

私は今学んでいます。別のコンテキストで配列を使用しました。しかし、この場合、私は何をすべきか分かりません。どんな助けもありがたい。 – cosmohorst

答えて

1

追加しようとしている値のサイズで新しい配列をインスタンス化します。あなたはサイズがわからない場合は、ArrayList

String[] arr = new String[5]; 

を使用してになるはず配列に値を追加します。おそらくコードをあまり冗長にならないように、これをループに入れることができます。

String val1 = (String) table.getModel().getValueAt(row, 0); 
arr[0] = val1; 

String val2 = (String) table.getModel().getValueAt(row, 1); 
arr[1] = val2; 

... 

はその後のコレクションで、彼らは通常より簡単で動作するように、配列

return arr; 
+1

ありがとうございました! :) – cosmohorst

1

に別の方法を返す:

List<String> values = new ArrayList<>(); 
values.add((String) table.getModel().getValueAt(row, 0)) 
.. 
.. 
values.add((String) table.getModel().getValueAt(row, 4);); 
関連する問題