我正在制作一个简单的模拟游戏,用户购买物品,然后在价格上涨时将其出售。我有一个列出项目当前价格、项目类型等的 JTable,但我已经稍微简化了代码,因此应该更容易查看:
public void example()
{
Object rowData[][] = {
{ "Item 1", ""+game.getItem1Price()+""},
{ "Item 2", ""+game.getItem2Price()+""},
{ "Item 3", ""+game.getItem3Price()+""}};
//game.getItem1Price refers to a method in another class that returns the price of Item1
String[] columnNames = {"Item Name",
"Item Price"};
DefaultTableModel tableModel = new DefaultTableModel(rowData, columnNames)
{
@Override
public boolean isCellEditable(int row, int column) {
//all cells false
return false;
}
};
JTable priceTable = new JTable();
priceTable.setModel(tableModel);
priceTable.setSelectionMode(1);
priceTable.setRowSelectionAllowed(true);
JScrollPane scrollPane = new JScrollPane(priceTable);
//then add table to frame
}
在每一回合结束时,价格都会发生变化,我希望表格显示更改后的价格,但我不知道如何让表格更新本身。我在网上看了,我发现了很多方法,比如 .repaint() 但它们似乎不起作用。
提前欢呼任何帮助。