jtable如何修改单元格数据

avatar
作者
猴君
阅读量:7

要修改JTable中的单元格数据,可以使用TableModel来实现。以下是一种常见的方法:

  1. 获取要修改的单元格的行索引和列索引。

    int row = table.getSelectedRow(); int column = table.getSelectedColumn(); 
  2. 获取TableModel对象。

    TableModel model = table.getModel(); 
  3. 修改单元格数据。

    model.setValueAt(newValue, row, column); 
  4. 通知JTable更新视图。

    table.repaint(); 

完整的示例代码如下:

import javax.swing.*; import javax.swing.table.DefaultTableModel;  public class JTableExample {     public static void main(String[] args) {         String[] columnNames = {"序号", "姓名", "年龄"};         Object[][] data = {                 {1, "张三", 20},                 {2, "李四", 25},                 {3, "王五", 30}         };          DefaultTableModel model = new DefaultTableModel(data, columnNames);         JTable table = new JTable(model);          JButton button = new JButton("修改");         button.addActionListener(e -> {             int row = table.getSelectedRow();             int column = table.getSelectedColumn();              if (row != -1 && column != -1) {                 String newValue = JOptionPane.showInputDialog("请输入新值");                 model.setValueAt(newValue, row, column);                 table.repaint();             }         });          JFrame frame = new JFrame();         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);         frame.add(new JScrollPane(table));         frame.add(button, BorderLayout.SOUTH);         frame.pack();         frame.setVisible(true);     } } 

当点击"修改"按钮时,会弹出一个输入对话框,输入新的值后会修改选中单元格的数据。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!