从另一个类更新了JTable的选定行

时间:2018-11-18 05:45:34

标签: java swing class jtable

我的主表单上有一个JTable,我想允许其编辑特定的行。我从弹出菜单中创建了一个编辑按钮,该弹出菜单创建了一个新窗口,该窗口用一个JFrame按钮来反映新Update窗口中所选行的数据,我想更新所选行在主表格上的表格中

我有一个自定义TableModel,它接受​​复杂的类型SaleItem,我有一个方法可以根据弹出框上操作的数据创建一个新的SaleItem,但是不确定如何发送回去更新表的所选行。

在这里创建新框架:

private void jMenuEditActionPerformed(java.awt.event.ActionEvent evt) {
    int index = jTable1.getSelectedRow();
    SalesTableModel model = (SalesTableModel) jTable1.getModel();
   NewJFrameEdit frame = new NewJFrameEdit(model.getRow(index));
   frame.setVisible(true);
}          

以下是与新窗口有关的方法:

public NewJFrameEdit(SaleItem editableItem) {
    initComponents();

    jDateChooserInstallDateUpdater.setDate(editableItem.postDate);
    jTextFieldWorkOrderUpdater.setText(editableItem.workOrderNumber);
    chkUpdateTv.setSelected(editableItem.newTv);
    chkUpdateInt.setSelected(editableItem.newInt);
    chkUpdatePh.setSelected(editableItem.newPh);
    editedItem = editableItem;
}

private void btnUpdateActionPerformed(java.awt.event.ActionEvent evt) {
this.dispose();
}                                         

public SaleItem getUpdatedItem(){
    return new SaleItem(
    editedItem.dateAdded,
    jDateChooserInstallDateUpdater.getDate(),
    editedItem.agentName,
    jTextFieldWorkOrderUpdater.getText(),
    chkUpdateInt.isSelected(),
    chkUpdateTv.isSelected(),
    chkUpdatePh.isSelected(),
    false
);
}

解决了! 当我调用NewJFrameEdit构造函数时,我必须传递表模型!

0 个答案:

没有答案