从列表中添加值 到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。它会告诉你如何:
- 从头开始创建自定义TableModel
- 使用通用的TableModel,只需实现几个方法来反映HighScore对象的数据。
另一答案
您应该使用DefautTableModel,创建它的实例。然后使用for循环将高分传递给Object [],然后使用DefautTableModel addRow方法添加行。
以Populate JTable Using List C12-H22-O11答案为例
以上是关于从列表中添加值 到Jtable的主要内容,如果未能解决你的问题,请参考以下文章