我创建了一个 DefaultTableModel,它在 JTabbedPane 中显示了一个非常基本的用户排名表。
我想使用从不同类收集的一些数据添加一行。此代码不会运行,但这是一个示例:
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class Statistics extends JPanel {
public Object[][] data;
public Statistics() {
super(new GridLayout(1,0));
String[] columnNames = {"Name", "Games Played", "Games Won"};
Object[][] data = {
{"Tom", new Integer(5), new Integer(2)},
{"Steve", new Integer(2), new Integer(0)},
};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
JTable table = new JTable(model);
table.setFillsViewportHeight(true);
table.setVisible(true);
table.setEnabled(false);
JScrollPane scrollPane = new JScrollPane(table);
add(scrollPane);
}
}
然后我从我的主要课程中调用它:
...
stats = new JPanel(); //create a new JPanel for table to go on
...
tp.addTab ("Statistics", stats); // add panel to JTabbedPane
..
leagueTable = new Statistics();// add the table to the stats panel
stats.add(leagueTable);
这正在显示并且很好,但是任何人都可以指导我使用什么语法来添加行,我已经尝试过:
leagueTable.addRow(table.getRowCount(), new Object[]{"ange", 5, 3});
但这不起作用,eclipse要求我在Statistics类中添加一个名为'addRow'的方法,但我认为'addRow'已经是DefaultTableModel的一个方法,所以我很困惑。谁能帮我解决如何将一行数据添加到表中?谢谢 IA