您好我的问题是下面我有一个特定类的列表我想将值绑定到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中。什么是最简单/最有效的方法
答案 0 :(得分:1)
如果必须创建JTable对象,最简单的方法是使用其构造函数之一。
有两个JTable构造函数直接接受数据(SimpleTableDemo
使用第一个):
JTable(Object[][] rowData, Object[] columnNames)
JTable(Vector rowData, Vector columnNames)
rowData
必须让您的对象处于您希望它们显示的位置。例如,要获取第二行第一列中的对象,JTable将执行rowData[1][0]
(它遵循rowData[row][col]
形式。)
答案 1 :(得分:1)
您应该创建一个自定义TableModel
来保存HighScore对象。
结帐Row Table Model。它会告诉你如何:
答案 2 :(得分:0)
您应该使用DefautTableModel创建一个实例。然后使用for循环将您的高分传递给Object [],然后使用DefautTableModel addRow方法添加行。
查看Populate JTable Using List C12-H22-O11答案作为示例