如何使用 Java 在 JTable 的特定单元格中设置值?
java 8object oriented programmingprogramming更新于 2025/9/5 10:52:17
假设我们的表格最初如下所示,其中特定单元格 [2,1] 的值为"Kane"减号

以下是为上述表格设置新值的示例。这里,我们将更新单元格 [2,1] 减号
table.setValueAt("Guptill", 2, 1);
让我们看看完整的示例 −
示例
package my;
import java.awt.Color;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.border.TitledBorder;
public class SwingDemo {
public static void main(String[] args) {
JFrame frame = new JFrame();
JPanel panel = new JPanel();
panel.setBorder(BorderFactory.createTitledBorder(
BorderFactory.createEtchedBorder(), "ODI Rankings", TitledBorder.CENTER,
TitledBorder.TOP));
String[][] rec = {
{ "1", "Steve", "AUS" },
{ "2", "Virat", "IND" },
{ "3", "Kane", "NZ" },
{ "4", "David", "AUS" },
{ "5", "Ben", "ENG" },
{ "6", "Eion", "ENG" },
};
String[] header = { "Rank", "Player", "Country" };
JTable table = new JTable(rec, header);
table.setShowHorizontalLines(true);
table.setGridColor(Color.orange);
table.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
table.setValueAt("Guptill", 2, 1);
panel.add(new JScrollPane(table));
frame.add(panel);
frame.setSize(550, 400);
frame.setVisible(true);
}
}
输出如下,单元格 [2,1] 中的值更新为 "Guptill"。我们用值 "Kane" 初始化了该单元格,但使用 setValueAt() 方法,我们成功地用 "Guptill" 更新了它,如下所示 −


