java JTable中动态添加、增加一行数据

转:http://www.cnblogs.com/azhqiang/p/4038391.html


新建:(原理:用model给jtable填充数据,vector给model填充数据,vector给vector填充数据)

Vector vData = new Vector();
Vector vName = new Vector();
vName.add("column1");
vName.add("column2");
Vector vRow = new Vector();
vRow.add("cell 0 0");
vRow.add("cell 0 1");
vData.add(vRow.clone());
vData.add(vRow.clone());
DefaultTableModel model = new DefaultTableModel(vData, vName);
JTable jTable1 = new JTable();
jTable1.setModel(model);

 /*用JScrollPane装载JTable,这样超出范围的列就可以通过滚动条来查看*/  

JScrollPane scroll = new JScrollPane(jTable1);
scroll.setSize(300, 200);
scroll.setLocation(650, 300);
jFrame.add(scroll);


添加:(原理:重新set一下model即可,改的是new() model时候的数据而已,即vData)


Vector vRow1 = new Vector();
vRow1.add("cell 2 0");
vRow1.add("cell 2 1");
vData.add(vRow1);
model = new DefaultTableModel(vData, vName);
jTable1.setModel(model);

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 使用JTable可以通过以下步骤添加一行数据: 1. 定义一个Object数组,用于存储新行的数据。 2. 获取表格模型,调用addRow方法将Object数组作为参数传递给表格模型。 3. 刷新表格,以显示新行。 代码示例: ``` DefaultTableModel model = (DefaultTableModel) jTable.getModel(); Object[] rowData = {"数据1", "数据2", "数据3"}; model.addRow(rowData); jTable.setModel(model); ``` ### 回答2: JavaJTable是一个非常常用的GUI控件,通常用来显示一组二维表格数据。在使用JTable时,我们需要向其添加数据。下面来介绍一下如何添加JTable的行数据。 1. 创建表格模型 JavaJTable数据模型是通过TableModel类来实现的。要向JTable添加数据,首先需要创建一个表格模型。 TableModel有很多实现类,但是最简单的实现方式是通过AbstractTableModel类创建,具体实现方式如下: ``` import javax.swing.table.AbstractTableModel; public class MyTableModel extends AbstractTableModel { private Object[][] data; private String[] columnNames; // 构造函数 public MyTableModel(Object[][] data, String[] columnNames) { this.data = data; this.columnNames = columnNames; } // 获取列数 @Override public int getColumnCount() { return columnNames.length; } // 获取行数 @Override public int getRowCount() { return data.length; } // 获取列名 @Override public String getColumnName(int col) { return columnNames[col]; } // 获取单元格值 @Override public Object getValueAt(int row, int col) { return data[row][col]; } // 设置单元格值 @Override public void setValueAt(Object value, int row, int col) { data[row][col] = value; fireTableCellUpdated(row, col); } // 判断单元格是否可编辑 @Override public boolean isCellEditable(int row, int col) { return true; } } ``` 2. 创建JTable 创建一个JTable控件,并设置它的数据模型: ``` JTable table = new JTable(new MyTableModel(data, columnNames)); ``` 其,data是一个二维数组,表示每行的数据。columnNames是一个一维数组,表示表格列名。 3. 添加数据 要向JTable添加数据,首先需要获取表格模型对象,在将数据添加到它的数据结构,如下所示: ``` MyTableModel model = (MyTableModel) table.getModel(); model.addRow(new Object[] { "data1", "data2", "data3" }); ``` 其,new Object[] { "data1", "data2", "data3" }表示添加的行数据,具体根据表格列数和每列数据类型来确定。 通过以上方式,就可以向JTable添加新行数据了。当然,我们还可以通过其他方法实现添加数据,如在表格模型添加新行,在调用JTable的updateUI()方法来实现刷新UI的效果。 ### 回答3: 在Java,使用JTable添加一行数据是一个常见的操作。以下是实现此操作的步骤: 第一步:定义模型 要向JTable添加数据,首先需要定义表格的模型。可以使用默认表格模型或自定义表格模型。如果要使用默认的表格模型,只需要创建一个新的JTable对象即可。 如果您需要自定义表格模型,则需要创建一个扩展AbstractTableModel的新类,并实现以下方法: - getColumnCount():返回表格的列数。 - getRowCount():返回表格的行数。 - getValueAt():返回指定单元格的值。 - setValueAt():设置指定单元格的值。 您可以将数据存储在数组,列表或数据,并使用这些方法从存储器检索数据。 第二步:添加新行 要添加新行,只需创建一个新的数据数组或列表,并将其添加到模型。例如,如果您使用的是默认表格模型,则可以使用以下代码向表格添加新行: DefaultTableModel model = (DefaultTableModel) jTable1.getModel(); Object[] row = {"John Doe", "40", "Male"}; model.addRow(row); 这将在表格添加一个新行,其包含三个单元格,分别显示名称,年龄和性别。 如果您使用自定义表格模型,则应将新数据添加数据存储器,并调用TableModel的fireTableRowsInserted()方法来通知模型更新视图。 第三步:更新表格 一旦您添加了新行,表格就应该更新以显示新数据。通常,表格会自动更新,但如果您需要手动更新,可以调用JTable的repaint()方法。 例如,如果您希望为新增数据自动滚动到最后一行,则可以使用以下代码: jTable1.scrollRectToVisible(jTable1.getCellRect(jTable1.getRowCount()-1, 0, true)); 这将滚动表格以使新行可见。 综上所述,要向Java JTable添加一行数据,您需要定义表格模型,添加数据并更新表格以显示新数据。这是一个简单的过程,可以使用默认表格模型或自定义模型来完成。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值