我试着把内容放在我的数组列表中,拿着足球俱乐部的对象并把它们显示在我的jtable上。我似乎无法让这个工作,我不知道我做错了什么。任何帮助都将不胜感激。对于model.add(),这里不允许使用数组初始值设定项。我的列名似乎也没有显示出来
// the arraylist containing footballclub objects
protected ArrayList<FootballClub> clubs = new ArrayList<FootballClub>();
public void displayTable(ArrayList<FootballClub> footballClubs)
{
String[] columnNames = {"Club name", "goals", "points", "wins"};
DefaultTableModel model = new DefaultTableModel(columnNames, 0);
for(int i = 0; i < footballClubs.size(); i++)
{
String name = footballClubs.get(i).getClubName();
int goals = footballClubs.get(i).getGoals();
int points = footballClubs.get(i).getPoints();
int wins = footballClubs.get(i).getPoints();
model.addRow({{name, goals,points,wins}});
}
final JTable teamTable = new JTable(model);
teamTable.setFillsViewportHeight(true);
JFrame frame = new JFrame("Tableview");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setSize(500, 500);
frame.setVisible(true);
}
1条答案
按热度按时间toiithl61#
你不会说你写的东西怎么不起作用。我假设这行有编译器问题:
看起来你好像在用
Object[]
超载。正确的语法是:或者,数组初始值设定项的特殊语法:
如果有一个
List
超载,你可以用List.of(name, goals, points, wins)
,但是没有。(另请注意,使用
List
而不是ArrayList
. 如果与java.awt.List
您可以显式地添加import java.util.List
.这个
for
可写为:这会让事情更清楚。)