2017-08-01 11 views
1

私はTaskクラスに以下のようなメソッドを持っています。以下のようになります:私のメソッドで配列を返す方法は?

public void populateJTable(){ 
    for (int i = 0; i < tasks.size(); i++){ 
      String name = tasks.get(i).getTaskName(); 
      String dueDate = tasks.get(i).getTaskPriority(); 
      String priority = tasks.get(i).getTaskPriority(); 

      Object[] data = {name, dueDate, priority}; //would like to return this 
    }} 

私は私GUIクラスで私のJTableに追加できるようにする方法からObject [] data ...を返すようにしたいと思います。どうしたらいい?私のGUIクラスは以下の通りです:

String[] columnNames = {"Task", "Due Date", "Priority"}; 
DefaultTableModel tableModel = new DefaultTableModel(columnNames, 0); 
table = new JTable(tableModel); 
scrollPane.setViewportView(table); 
tableModel.add(data); // would like to add the data here from the populateJTable method. 

ありがとうございます。次のように

+0

どのような 'タスク'クラスですか? Afaikにはスイングがありません。メソッド名からはカスタムクラスに見えますが、戻り値の型を変更するだけで何が問題になりますか?また、テーブルモデルへの参照をそのメソッドに渡してそこにデータを追加することも考えられます。 – Thomas

答えて

1

はちょうどあなたの方法を再定義:

public Object[] pupulateJTable() { 
    .... 
    return data; 
} 
+0

私はそれを試みましたが、変数を初期化するように私に求めます。 – user982467

+0

その後、データを返す前にデータは初期化されません。 –

0

変更voidからObject[]へのあなたのメソッドの戻り値の型とは、あなたの方法の終わりにreturn data;を追加します。

public Object[] pupulateJTable() { 
    // TODDY.... 
    return new Object[]{name, dueDate, priority}; 
} 
+0

私はそれを試みましたが、変数を初期化するように私に求めます。 – user982467

+0

これは'です。これは 'Object [] data = new Object [] {here * *}}' – Vivick

0

がvoid何も返さないので、無効にすることはできませんメソッドの戻り値の型を変更し、この

を返したいと思います...あなたのようなものが必要tasks.size()に依存して、多くのタスク名、日付、および優先順位を持つことができます。代わりにList<String[]>を返すことを提案します。例:

public List<String[]> populateJTable(){ 
    List<String[]> list = new ArrayList<>(); 
    for (int i = 0; i < tasks.size(); i++){ 
      String name = tasks.get(i).getTaskName(); 
      String dueDate = tasks.get(i).getTaskPriority(); 
      String priority = tasks.get(i).getTaskPriority(); 

      list.add(new String[]{name, dueDate, priority}); 
    } 
    return list; 
} 
+0

である必要があるため、戻り値の型を追加するよう依頼しています。 – user982467

+0

あなたはこれを持っていません:**返す新しいオブジェクト[] {名前、dueDate、優先度}; ** –

+0

https://snag.gy/feOymQ.jpg – user982467

0

+0

これをもう一度見て、これは何の意味もなしません。なぜあなたはあなたのタスク変数にアクセスしたり、タスクを返したりしませんか? – Eritrean

関連する問題