繁体   English   中英

如何在JXTable中使空行可编辑

[英]How to Make empty row editable in JXTable

我有一个链接到MySQL数据库的jXTable。 我正在使用DefaultTableModel。 到目前为止,我可以让用户编辑表中的数据。 我一直在尝试添加“插入新行”按钮,但未成功。 同时,我认为我可以在每次用户更新表时在表末尾添加一个空行。 我可以使用addRow()方法获取空行,但是它不可编辑。 到目前为止,这是我的代码。 关于如何使空行可编辑的任何提示?

     public void rowSetChanged(RowSetEvent event) {         
             Object[] record;
             Object[] emptyrow;
             String [] columnNames=new String [] {"DATE RECEIVED", "INCOME NAME", 
                "DESCRIPTION", "AMOUNT", "FUND ALLOCATION"};

             DefaultTableModel dtm=new DefaultTableModel(columnNames,0){
                    Class[] types = new Class [] {
                        java.sql.Date.class, java.lang.String.class, java.lang.String.class, 
                        java.lang.Object.class, java.lang.Float.class, java.lang.String.class};
                        public Class getColumnClass(int columnIndex) {
                            return types [columnIndex];
                        }
                };              

             try {    
                IncomeUI.frs.beforeFirst();                   
                        while (IncomeUI.frs.next()){
                            record=new Object[]{IncomeUI.frs.getDate("DateReceived"), 
                            IncomeUI.frs.getString("IncomeName"), IncomeUI.frs.getString("Description"), 
                            IncomeUI.frs.getBigDecimal("Amount"),IncomeUI.frs.getString("FundAllocation")};
                        dtm.addRow(record);
               }              
             } catch (SQLException ex) {ex.printStackTrace();} 

             emptyrow = new Object[]{" ", " ", " ", " ", " "};
             dtm.addRow(emptyrow);

            this.setModel(dtm);   
            this.setShowHorizontalLines(false);
            this.setShowVerticalLines(false);     
            IncomeUI.jScrollPane2.setViewportView(this);  
            //System.out.println(event.toString());
}

好吧,不是100%修复,但是可以。 我最终只是添加代码以添加带有伪数据的新行(例如“ Edit Me”)。 用户可以重新编辑它。 现在可以使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM