2016-02-09 58 views
0

我正在開發一個應用程序,它有一個由僱員對象組成的數據庫類。員工在jTable中被表示爲行。如果雙擊某一行,將彈出一個包含員工信息的對話框。此信息已存儲在員工類中。問題是,當我手動編輯jTable中的員工信息時,類中的信息不會被更新。所以如果我雙擊一個員工,舊信息顯示,而不是編輯的信息。如果我手動編輯jTable,如何調整課程中的信息?當我編輯鏈接到它的jTable時,如何更新類中的信息?

對不起,如果這不明確,我仍然是新的堆棧溢出。

+0

[This question](http://stackoverflow.com/questions/35295612/how-do-i-update-info-in-a-class-when-i-edit-the-jtable-linked對它)可能會幫助你。 –

+0

在用戶按下回車按鈕後,將'KeyReleased Event'添加到'jTable'並更新員工信息。 –

+0

魚竿,你鏈接到這個問題哈哈。你能重新鏈接到這個問題嗎? Chalitha,你有關於如何設置KeyReleased事件的示例代碼? –

回答

0

編輯jTable單元格不會更新員工數據,因爲jTable只顯示您的員工詳細信息。因此,您可以做的是,爲您的jTable創建一個KeyReleased Event並更新數據庫中的員工詳細信息。

在NetBeans你可以簡單地在你的jTable創建KeyReleased Event右擊並在彈出的菜單中去Events - >Key - >KeyReleased

NetBeans將自動創建一個像這樣的代碼:

private void yourTableNameKeyReleased(java.awt.event.KeyEvent evt) { 

} 

然後WIRTE您在yourTableNameKeyReleased方法代碼來更新你的員工的詳細信息。

if(evt.getKeyCode() == KeyEvent.VK_ENTER){ 

    int RowInView = YourTableName.getSelectedRow(); 

    if(RowInView >= 0){ 
    int RowInTableModel = YourTableName.convertRowIndexToModel(RowInView); 

    String TextOnColumn1 = (YourTableName.getModel().getValueAt(RowInTableModel, 0).toString()); 
    String TextOnColumn2 = (YourTableName.getModel().getValueAt(RowInTableModel, 1).toString()); 
    String TextOnColumn3 = (YourTableName.getModel().getValueAt(RowInTableModel, 2).toString()); 

    // Write the code to update the employees details using these string values. 
    } 
} 
相關問題