Ich habe eine JTable, in der ich Benutzer mit mehreren Attributen wie Alter, Name, etc. hinzufügen kann. Das funktioniert und die Benutzer werden zu meiner Arraylist und JTable hinzugefügt. Nun, was ich will ist, wenn ich die JTable-Zeile auswählen, um das Objekt in der Array-Liste des Benutzers gespeichert werden, so dass ich sie ändern oder löschen kann. HierWie bekomme ich das gespeicherte Objekt von JTable
ist das Beispiel von meinem Code, wenn ich Benutzer hinzufügen die JTable:
private void jButtonAddAUserActionPerformed(java.awt.event.ActionEvent evt) {
User obj=new User();
obj.setName(jTextFieldName.getText());
obj.setAdress(jTextFieldAdress.getText());
obj.setNumCC(Integer.parseInt(jTextFieldNumCC.getText()));
obj.setTele(Integer.parseInt(jTextFieldTele.getText()));
obj.setUserName(jTextFieldUserName.getText());
obj.setPassword(jTextFieldPassword.getText());
DefaultTableModel model=(DefaultTableModel) jTableUsers.getModel();
model.addRow(new Object[]{
jTextFieldName.getText(),
jTextFieldAdress.getText(),
jTextFieldTele.getText(),
jTextFieldNumCC.getText(),
obj.isAdmin
});
usersList.add(obj);
JOptionPane.showMessageDialog(null,"Data inserted correctly.");
jTextFieldName.setText("");
jTextFieldAdress.setText("");
jTextFieldNumCC.setText("");
jTextFieldTele.setText("");
jTextFieldPassword.setText("");
jTextFieldUserName.setText("");
}
Edit: Hier ist der Code für Benutzer bereits entfernt arbeiten:
private void jButtonRemoverActionPerformed (java.awt .event.ActionEvent evt) {
DefaultTableModel model = (DefaultTableModel) jTableInvestidores.getModel();
User u = userList.get(jTableUsers.getSelectedRow());
userList.remove(u);
model.removeRow(jTableUsers.getSelectedRow());
JOptionPane.showMessageDialog(null,"Data removed.");
}
Und hier ist der Code für Benutzer aktualisieren, die immer noch nicht funktioniert, im Versuch, sie zu aktualisieren f aus dem jTextFields:
private void jButtonUpdateActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel model = (DefaultTableModel) jTableUsers.getModel();
userList.get(jTableUsers.getSelectedRow());
model.setValueAt(jTextFieldName.getText(), jTableUsers.getSelectedRow(),0);
model.setValueAt(jTextFieldAdress.getText(), jTableUsers.getSelectedRow(),1);
model.setValueAt(jTextFieldPhone.getText(), jTableUsers.getSelectedRow(),2);
model.setValueAt(jTextFieldNumCC.getText(), jTableUsers.getSelectedRow(),3);
User u =userList.get(jTableUsers.getSelectedRow());
JOptionPane.showMessageDialog(null,"Data updated.");
}
Kann mir bitte jemand helfen? Vielen Dank!
'userList.get (table.getSelectedRow());' führt zu einem Benutzerobjekt am angegebenen Index. Jetzt können Sie das Benutzerobjekt ändern und den Benutzer in Ihrer Liste ersetzen. Danach "repaint" Ihre Tabelle mit den geänderten Daten – XtremeBaumer