键盘输入到JTable单元格中的数据,刷新到JTable中的问题

一个 swing.JTable 的表,各单元的值可以修改
一个 Button 
按  Button 后 jTable 内值赋给一个数组
 
问题 :修改jTable 的一个单元格后直接按Button, 这个单元的值没有赋给数组。
      但是如果修改完后,在表格内其他的单元格点击一下,再按Button, 这个单元的值就会赋给数组。
为什么? 是不是有什么刷新的函数?  怎么免去点击?


表格的编辑器在stopCellEditing之前是不把当前的值保存进去的.所以你点击按钮是原来的旧制.但是当你编辑完cell数据后,再别的cell点击时,Jtable调用了刚才你所编辑单元格编辑器的stopCellEditing方法,把编辑后的值保存进去了.


你可以通过jTable的isEditing方法判断表格是否正在编辑,如果为true.你可以通过getEditingColumn和getEditingRow获取当前编辑的单元格的位置.然后通过getCellEditor(row,col)获取正在编辑的编辑器,然后调用她的stopCellEditing方法就差不多了.

仔细看看jdk帮助吧.
祝你好运.

大体的流程如下:
if(jTable1.isEditing()){
   int row = jTable1.getEditingRow();
   int col = jTable1.getEditingColumn();
   jTable1.getCellEditor(row,col).stopCellEditing();
}
在Java语言,我们可以使用Apache POI库来将JTable数据导出到Excel。 首先,需在项目添加Apache POI库的依赖。然后,我们可以通过以下步骤实现导出操作: 1. 创建一个Workbook对象,代表整个Excel文件。 2. 创建一个Sheet对象,代表Excel文件的一个表格。 3. 根据JTable的行数和列数,在Sheet对象上创建相应数量的行和列。 4. 使用循环将JTable数据逐行逐列地写入到Excel表格。 5. 最后,使用FileOutputStream将Workbook对象的内容写入到磁盘上的Excel文件。 以下是一个简单的示例代码,实现了将JTable数据导出到Excel文件的操作: ```java import java.io.FileOutputStream; import javax.swing.JTable; import org.apache.poi.ss.usermodel.*; public class ExportToExcel { public static void export(JTable table, String filePath) { Workbook workbook = WorkbookFactory.create(true); // 创建一个Workbook对象 Sheet sheet = workbook.createSheet(); // 创建一个Sheet对象 for (int row = 0; row < table.getRowCount(); row++) { Row sheetRow = sheet.createRow(row); // 创建行 for (int col = 0; col < table.getColumnCount(); col++) { Cell cell = sheetRow.createCell(col); // 创建单元格 Object value = table.getValueAt(row, col); if (value != null) { cell.setCellValue(value.toString()); // 设置单元格的值 } } } try { FileOutputStream fileOut = new FileOutputStream(filePath); workbook.write(fileOut); // 将Workbook对象的内容写入到Excel文件 fileOut.close(); workbook.close(); System.out.println("导出成功!"); } catch (Exception e) { e.printStackTrace(); System.out.println("导出失败!"); } } } ``` 你只需调用`export`方法,并传入你的JTable对象和指定的输出文件路径,即可将JTable数据导出到Excel文件。 希望以上内容能对你有所帮助!如有疑问,请随时追问。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WitsMakeMen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值