年齢、名前などの属性を持つユーザーを追加できるJTableがあります。これが機能し、ユーザーはarraylistとJTableに追加されます。 私が望むのは、ユーザーのarrayListに格納されたオブジェクトを取得して変更または削除できるようにするために、JTable行を選択するときです。私は、JTableのにユーザーを追加するときにここで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("");
}
編集:ここでは が既にユーザーを取り除く作業するためのコードです:
ます。private void jButtonRemoverActionPerformed(java.awtで.event.ActionEvent evt){
ここで、まだ更新されていないユーザーを更新するためのコードです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.");
}
誰でも私にこれについての助けを与えてもらえますか?ありがとう!
'userList.get(table.getSelectedRow());'指定されたインデックスにユーザオブジェクトが返されます。これで、ユーザーオブジェクトを変更し、リスト内のユーザーを置き換えることができます。その後、変更されたデータでテーブルを「再描画」する – XtremeBaumer