如何在我的方法中返回数组?

时间:2017-08-01 14:05:38

标签: java arrays swing jtable

我在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
    }}

我想从方法中返回Object [] data ...,以便我可以将其添加到GUI类中的JTable中。我该怎么做我的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.

感谢。

4 个答案:

答案 0 :(得分:1)

重新定义您的方法如下:

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

答案 1 :(得分:0)

将方法的返回类型从void更改为Object[],并在方法的末尾添加return data;

答案 2 :(得分:0)

  

想要返回此

然后更改方法的返回类型,不能为空,因为void不返回任何内容......你需要这样的东西:

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

答案 3 :(得分:0)

根据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;
}