从列表中添加值 到Jtable

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从列表中添加值 到Jtable相关的知识,希望对你有一定的参考价值。

您好我的问题是下面我有一个特定类的列表我想将值绑定到jtable(添加它们的顺序现在不重要)列表中的类如下所示

public HighScore(int score, int amountofplayers, String playerName,String dateString) {
    this.score = score;
    this.amountofplayers = amountofplayers;
    this.playerName = playerName;
    this.dateString = dateString;
}

返回列表的函数是

   public ArrayList<HighScore> GetHighScores()
{
    ArrayList<HighScore> highscores = new ArrayList<HighScore>();
    //get highscores from databse

    //insert some test values
    highscores.add(new HighScore(125, 2, "Piet","20-10-2015"));
    highscores.add(new HighScore(167, 2, "Henk", "19-10-2015"));
    highscores.add(new HighScore(278, 2, "Jan", "11-10-2015"));
    return highscores;
}

所以现在我想将所有这些高分添加到我的Jtable1中,其中驻留在jpannel中。什么是最简单/最有效的方法

答案

如果必须创建JTable对象,最简单的方法是使用其构造函数之一。

有两个JTable构造函数直接接受数据(SimpleTableDemo使用第一个):

JTable(Object[][] rowData, Object[] columnNames)
JTable(Vector rowData, Vector columnNames)

rowData必须将您的对象放在您希望它们显示的位置。例如,要获取第二行第一列中的对象,JTable将执行rowData[1][0](它遵循rowData[row][col]形式)。

另一答案

您应该创建一个自定义TableModel来保存HighScore对象。

看看Row Table Model。它会告诉你如何:

  1. 从头开始创建自定义TableModel
  2. 使用通用的TableModel,只需实现几个方法来反映HighScore对象的数据。
另一答案

您应该使用DefautTableModel,创建它的实例。然后使用for循环将高分传递给Object [],然后使用DefautTableModel addRow方法添加行。

Populate JTable Using List C12-H22-O11答案为例

以上是关于从列表中添加值 到Jtable的主要内容,如果未能解决你的问题,请参考以下文章

如何将列表视图中的数据从一个片段发送到另一个片段

以正确的顺序向 JTable 添加行。

已编辑将 JTable 写入 Excel

jtable仅使用链表中的值填充一行

JTable自动读取空值问题

将 JSON 字符串从片段传递到适配器的问题