如何在 Java 中设置 JTable 特定单元格的值?


假设我们最初的表格为下面表格,其中特定单元格 [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”,如下所示 −

更新于: 30-Jul-2019

超过 1 千次浏览

开始你的 职业生涯

完成课程并获得证书

立即开始
广告
© . All rights reserved.