defaulttablemodel如何删除行
时间: 2024-02-15 22:02:49 浏览: 19
要删除 DefaultTableModel 中的一行,可以使用以下代码:
```
DefaultTableModel model = (DefaultTableModel) table.getModel();
int row = table.getSelectedRow();
if (row >= 0) {
model.removeRow(row);
}
```
其中,`table` 是 JTable 对象,`getModel()` 方法返回其使用的 TableModel。`getSelectedRow()` 方法返回选择的行索引,如果没有选择任何行则返回 -1。如果选择了行,则可以使用 `removeRow()` 方法从模型中删除该行。
相关问题
DefaultTableModel
DefaultTableModel是Java Swing中用来表示表格数据的一个模型类。它继承自AbstractTableModel并且实现了TableModel接口。使用它可以方便地创建一个表格模型并且提供了一些基本的表格操作,如添加、删除和修改行、列等。
创建一个DefaultTableModel对象的方法如下:
```
String[] columnNames = {"姓名", "年龄", "性别"};
Object[][] data = {{"张三", 20, "男"},{"李四", 22, "女"}};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
```
使用DefaultTableModel对象创建一个JTable:
```
JTable table = new JTable(model);
```
使用DefaultTableModel的一些常用的方法:
- addRow(Object[] rowData):向表格最后添加一行数据
- insertRow(int row, Object[] rowData):在表格第row行插入一行数据
- removeRow(int row):删除表格第row行数据
- setValueAt(Object aValue, int row, int column):修改表格第row行第column列的数据
- getRowCount():获取表格的行数
- getColumnCount():获取表格的列数
需要注意的是,当数据改变时需要调用fireTableDataChanged()来通知JTable更新。
示例:
```
model.addRow(new Object[]{"王五", 25, "男"});
model.removeRow(1);
model.setValueAt("女", 0, 2);
model.fireTableDataChanged();
```
defaulttablemodel用法
DefaultTableModel是Java Swing中用来表示表格数据的一个模型类。它继承自AbstractTableModel并且实现了TableModel接口。使用它可以方便地创建一个表格模型并且提供了一些基本的表格操作,如添加、删除和修改行、列等。
创建一个DefaultTableModel对象的方法如下:
```
String[] columnNames = {"姓名", "年龄", "性别"};
Object[][] data = {{"张三", 20, "男"},{"李四", 22, "女"}};
DefaultTableModel model = new DefaultTableModel(data, columnNames);
```
使用DefaultTableModel对象创建一个JTable:
```
JTable table = new JTable(model);
```
使用DefaultTableModel的一些常用的方法:
- addRow(Object[] rowData):向表格最后添加一行数据
- insertRow(int row, Object[] rowData):在表格第row行插入一行数据
- removeRow(int row):删除表格第row行数据
- setValueAt(Object aValue, int row, int column):修改表格第row行第column列的数据
- getRowCount():获取表格的行数
- getColumnCount():获取表格的列数
需要注意的是,当数据改变时需要调用fireTableDataChanged()来通知JTable更新。
示例:
```
model.addRow(new Object[]{"王五", 25, "男"});
model.removeRow(1);
model.setValueAt("女", 0, 2);
model.fireTableDataChanged();
```