jtable如何修改单元格数据

   2025-02-15 6220
核心提示:要修改JTable中的单元格数据,可以使用TableModel来实现。以下是一种常见的方法:获取要修改的单元格的行索引和列索引。int row

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

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

int row = table.getSelectedRow();int column = table.getSelectedColumn();

获取TableModel对象。

TableModel model = table.getModel();

修改单元格数据。

model.setValueAt(newValue, row, column);

通知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);    }}

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

 
 
更多>同类维修知识
推荐图文
推荐维修知识
点击排行
网站首页  |  关于我们  |  联系方式  |  用户协议  |  隐私政策  |  网站留言