Benutzer können jetzt fehlerfrei gelöscht und bearbeitet werden. Es
treten keine Fehler mehr bei der Anzeige der Tabellenbuttons auf.
This commit is contained in:
@@ -22,4 +22,12 @@ public class KUser {
|
|||||||
public int getId(){
|
public int getId(){
|
||||||
return this.id;
|
return this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setName(String pName){
|
||||||
|
this.name = pName;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSurname(String pSurname){
|
||||||
|
this.surname = pSurname;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,5 +9,6 @@ public interface DbConnector {
|
|||||||
public int createUser(String pName, String pSurname);
|
public int createUser(String pName, String pSurname);
|
||||||
public ArrayList<KUser> getUserList();
|
public ArrayList<KUser> getUserList();
|
||||||
public boolean deleteUser(int id);
|
public boolean deleteUser(int id);
|
||||||
|
public int editUser(int pId, String pName, String pSurname);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -29,4 +29,10 @@ public class SqlConnector implements DbConnector{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int editUser(int pId, String pName, String pSurname) {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -239,4 +239,21 @@ public class SqliteConnector implements DbConnector {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int editUser(int pId, String pName, String pSurname) {
|
||||||
|
if(pName.isEmpty() && pSurname.isEmpty()) return 2;
|
||||||
|
try {
|
||||||
|
Statement st = this.connection.createStatement();
|
||||||
|
String query = "UPDATE user SET name = '"+pName+"', surname = '"+pSurname+"' WHERE id = '"+pId+"'";
|
||||||
|
|
||||||
|
st.executeUpdate(query);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
catch(SQLException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
package de.katho.kBorrow.gui;
|
package de.katho.kBorrow.gui;
|
||||||
|
|
||||||
import javax.swing.JCheckBox;
|
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JTabbedPane;
|
import javax.swing.JTabbedPane;
|
||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
@@ -25,7 +24,8 @@ import javax.swing.JTable;
|
|||||||
public class MainWindow implements ActionListener {
|
public class MainWindow implements ActionListener {
|
||||||
|
|
||||||
private DbConnector dbCon;
|
private DbConnector dbCon;
|
||||||
private boolean userModeSave = true;
|
private boolean userModeEdit = false;
|
||||||
|
private int editId;
|
||||||
|
|
||||||
private JFrame frame;
|
private JFrame frame;
|
||||||
private JTextField textField;
|
private JTextField textField;
|
||||||
@@ -42,6 +42,7 @@ public class MainWindow implements ActionListener {
|
|||||||
private UserTableModel userTableModel;
|
private UserTableModel userTableModel;
|
||||||
private JScrollPane scrollUserList;
|
private JScrollPane scrollUserList;
|
||||||
private JPanel panelUserList;
|
private JPanel panelUserList;
|
||||||
|
private JButton btnUserCancel;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -100,16 +101,17 @@ public class MainWindow implements ActionListener {
|
|||||||
panelUser.add(panelUserList);
|
panelUser.add(panelUserList);
|
||||||
panelUserList.setLayout(new BorderLayout(0, 0));
|
panelUserList.setLayout(new BorderLayout(0, 0));
|
||||||
|
|
||||||
userTable = new JTable(new UserTableModel(this.dbCon));
|
userTableModel = new UserTableModel(this.dbCon);
|
||||||
|
userTable = new JTable(userTableModel);
|
||||||
userTable.setFillsViewportHeight(true);
|
userTable.setFillsViewportHeight(true);
|
||||||
userTableModel = (UserTableModel)userTable.getModel();
|
|
||||||
|
|
||||||
TableButton userDeleteButton = new TableButton("L<EFBFBD>schen", this.userTable, new UserDeleteListener(userTable));
|
UserDeleteTableButton userDeleteTableButton = new UserDeleteTableButton("L<EFBFBD>schen", this.userTable);
|
||||||
userTable.getColumn("L<EFBFBD>schen").setCellEditor(userDeleteButton);
|
userTable.getColumnModel().getColumn(4).setCellEditor(userDeleteTableButton);
|
||||||
userTable.getColumn("L<EFBFBD>schen").setCellRenderer(userDeleteButton);
|
userTable.getColumnModel().getColumn(4).setCellRenderer(userDeleteTableButton);
|
||||||
TableButton userEditButton = new TableButton("Bearbeiten", this.userTable, new UserEditListener());
|
|
||||||
userTable.getColumn("Bearbeiten").setCellEditor(userEditButton);
|
UserEditTableButton userEditTableButton = new UserEditTableButton("Bearbeiten", this.userTable, this);
|
||||||
userTable.getColumn("Bearbeiten").setCellRenderer(userEditButton);
|
userTable.getColumnModel().getColumn(3).setCellEditor(userEditTableButton);
|
||||||
|
userTable.getColumnModel().getColumn(3).setCellRenderer(userEditTableButton);
|
||||||
|
|
||||||
scrollUserList = new JScrollPane(userTable);
|
scrollUserList = new JScrollPane(userTable);
|
||||||
panelUserList.add(scrollUserList);
|
panelUserList.add(scrollUserList);
|
||||||
@@ -138,12 +140,11 @@ public class MainWindow implements ActionListener {
|
|||||||
|
|
||||||
btnUserSave = new JButton("Speichern");
|
btnUserSave = new JButton("Speichern");
|
||||||
btnUserSave.addActionListener(this);
|
btnUserSave.addActionListener(this);
|
||||||
btnUserSave.setBounds(333, 58, 86, 20);
|
btnUserSave.setBounds(333, 27, 103, 20);
|
||||||
|
|
||||||
lblUserStatus = new JLabel("");
|
lblUserStatus = new JLabel("");
|
||||||
lblUserStatus.setBounds(6, 89, 413, 14);
|
lblUserStatus.setBounds(6, 89, 413, 14);
|
||||||
|
|
||||||
|
|
||||||
panelUserEdit.add(this.lblUserName);
|
panelUserEdit.add(this.lblUserName);
|
||||||
panelUserEdit.add(this.textFieldUserName);
|
panelUserEdit.add(this.textFieldUserName);
|
||||||
panelUserEdit.add(this.lblUserSurname);
|
panelUserEdit.add(this.lblUserSurname);
|
||||||
@@ -152,12 +153,48 @@ public class MainWindow implements ActionListener {
|
|||||||
panelUserEdit.add(this.btnUserSave);
|
panelUserEdit.add(this.btnUserSave);
|
||||||
panelUserEdit.add(this.lblUserStatus);
|
panelUserEdit.add(this.lblUserStatus);
|
||||||
|
|
||||||
|
btnUserCancel = new JButton("Abbrechen");
|
||||||
|
btnUserCancel.setBounds(333, 57, 103, 23);
|
||||||
|
btnUserCancel.addActionListener(this);
|
||||||
|
panelUserEdit.add(btnUserCancel);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModeEditUser(int pId, String pName, String pSurname){
|
||||||
|
this.userModeEdit = true;
|
||||||
|
this.editId = pId;
|
||||||
|
this.textFieldUserName.setText(pName);
|
||||||
|
this.textFieldUserSurname.setText(pSurname);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if(e.getSource() == this.btnUserSave){
|
if(e.getSource() == this.btnUserSave){
|
||||||
if(this.userModeSave){
|
if(this.userModeEdit){
|
||||||
|
int re = this.userTableModel.editUser(this.editId, this.textFieldUserName.getText(), this.textFieldUserSurname.getText());
|
||||||
|
|
||||||
|
switch(re){
|
||||||
|
case 0:
|
||||||
|
this.lblUserStatus.setText("Benutzer-ID \""+this.editId+"\" erfolgreich bearbeitet.");
|
||||||
|
this.textFieldUserName.setText("");
|
||||||
|
this.textFieldUserSurname.setText("");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
this.lblUserStatus.setText("SQL-Fehler. Benutzer konnte nicht bearbeitet werden.");
|
||||||
|
this.textFieldUserName.setText("");
|
||||||
|
this.textFieldUserSurname.setText("");
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
this.lblUserStatus.setText("Entweder Vor- oder Nachname m<>ssen ausgef<65>llt sein.");
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
this.userModeEdit = false;
|
||||||
|
this.editId = 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
int re = this.userTableModel.createUser(this.textFieldUserName.getText(), this.textFieldUserSurname.getText());
|
int re = this.userTableModel.createUser(this.textFieldUserName.getText(), this.textFieldUserSurname.getText());
|
||||||
|
|
||||||
switch (re){
|
switch (re){
|
||||||
@@ -178,11 +215,11 @@ public class MainWindow implements ActionListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
|
||||||
// Hier kommt die Funktion rein, die Benutzer editieren l<>sst.
|
|
||||||
}
|
}
|
||||||
|
if(e.getSource() == this.btnUserCancel){
|
||||||
|
this.userModeEdit = false;
|
||||||
|
this.textFieldUserName.setText("");
|
||||||
|
this.textFieldUserSurname.setText("");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,95 +0,0 @@
|
|||||||
package de.katho.kBorrow.gui;
|
|
||||||
|
|
||||||
import java.awt.Component;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
import java.util.EventObject;
|
|
||||||
|
|
||||||
import javax.swing.AbstractCellEditor;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JTable;
|
|
||||||
import javax.swing.UIManager;
|
|
||||||
import javax.swing.event.CellEditorListener;
|
|
||||||
import javax.swing.table.TableCellEditor;
|
|
||||||
import javax.swing.table.TableCellRenderer;
|
|
||||||
|
|
||||||
public class TableButton extends AbstractCellEditor implements TableCellRenderer, TableCellEditor {
|
|
||||||
private int selectedRow;
|
|
||||||
private int selectedColumn;
|
|
||||||
private JButton button;
|
|
||||||
private JTable parentTable;
|
|
||||||
private UserTableModel tModel;
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = 2605797435586840499L;
|
|
||||||
|
|
||||||
public TableButton(String pLabel, JTable pTable, ActionListener listener){
|
|
||||||
this.button = new JButton(pLabel);
|
|
||||||
this.parentTable = pTable;
|
|
||||||
this.tModel = (UserTableModel)this.parentTable.getModel();
|
|
||||||
this.button.addActionListener(listener);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void addCellEditorListener(CellEditorListener arg0) {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void cancelCellEditing() {
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Object getCellEditorValue() {
|
|
||||||
return "";
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isCellEditable(EventObject arg0) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void removeCellEditorListener(CellEditorListener arg0) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean shouldSelectCell(EventObject anEvent) {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean stopCellEditing() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
|
|
||||||
selectedRow = row;
|
|
||||||
selectedColumn = column;
|
|
||||||
|
|
||||||
if(isSelected){
|
|
||||||
this.button.setForeground(table.getSelectionForeground());
|
|
||||||
this.button.setBackground(table.getSelectionBackground());
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
this.button.setForeground(table.getForeground());
|
|
||||||
this.button.setBackground(table.getBackground());
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.button;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
|
|
||||||
if (isSelected){
|
|
||||||
this.button.setForeground(table.getSelectionForeground());
|
|
||||||
this.button.setBackground(table.getSelectionBackground());
|
|
||||||
} else {
|
|
||||||
this.button.setForeground(table.getForeground());
|
|
||||||
this.button.setBackground(UIManager.getColor("Button.background"));
|
|
||||||
}
|
|
||||||
//this.button.setText((value == null) ? "" : value.toString());
|
|
||||||
return this.button;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,24 +0,0 @@
|
|||||||
package de.katho.kBorrow.gui;
|
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
|
|
||||||
import javax.swing.JTable;
|
|
||||||
|
|
||||||
public class UserDeleteListener implements ActionListener {
|
|
||||||
|
|
||||||
private JTable table;
|
|
||||||
private UserTableModel model;
|
|
||||||
|
|
||||||
public UserDeleteListener(JTable pTable){
|
|
||||||
this.table = pTable;
|
|
||||||
this.model = (UserTableModel)table.getModel();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void actionPerformed(ActionEvent arg0) {
|
|
||||||
int row = table.getSelectedRow();
|
|
||||||
|
|
||||||
this.model.deleteUser(model.getUserId(row));
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
58
src/de/katho/kBorrow/gui/UserDeleteTableButton.java
Normal file
58
src/de/katho/kBorrow/gui/UserDeleteTableButton.java
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
package de.katho.kBorrow.gui;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
import javax.swing.AbstractCellEditor;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.TableCellEditor;
|
||||||
|
import javax.swing.table.TableCellRenderer;
|
||||||
|
|
||||||
|
public class UserDeleteTableButton extends AbstractCellEditor implements TableCellRenderer, TableCellEditor {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -886584066497429394L;
|
||||||
|
|
||||||
|
private JButton buttonR;
|
||||||
|
private JButton buttonE;
|
||||||
|
private String label;
|
||||||
|
private JTable table;
|
||||||
|
private UserTableModel model;
|
||||||
|
|
||||||
|
public UserDeleteTableButton(String pLabel, JTable pTable){
|
||||||
|
this.label = pLabel;
|
||||||
|
this.table = pTable;
|
||||||
|
this.model = (UserTableModel) pTable.getModel();
|
||||||
|
this.buttonR = new JButton(pLabel);
|
||||||
|
this.buttonE = new JButton(pLabel);
|
||||||
|
|
||||||
|
this.buttonE.addActionListener(new ActionListener(){
|
||||||
|
public void actionPerformed(ActionEvent e){
|
||||||
|
fireEditingStopped();
|
||||||
|
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
int id = model.getUserId(row);
|
||||||
|
|
||||||
|
model.deleteUser(id);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getCellEditorValue() {
|
||||||
|
return this.label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
|
||||||
|
return this.buttonE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
|
||||||
|
return this.buttonR;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
package de.katho.kBorrow.gui;
|
|
||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
|
||||||
import java.awt.event.ActionListener;
|
|
||||||
|
|
||||||
public class UserEditListener implements ActionListener {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void actionPerformed(ActionEvent e) {
|
|
||||||
System.out.println("Edit");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
59
src/de/katho/kBorrow/gui/UserEditTableButton.java
Normal file
59
src/de/katho/kBorrow/gui/UserEditTableButton.java
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
package de.katho.kBorrow.gui;
|
||||||
|
|
||||||
|
import java.awt.Component;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
|
import javax.swing.AbstractCellEditor;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.TableCellEditor;
|
||||||
|
import javax.swing.table.TableCellRenderer;
|
||||||
|
|
||||||
|
public class UserEditTableButton extends AbstractCellEditor implements TableCellRenderer, TableCellEditor {
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
private static final long serialVersionUID = -886584066497429394L;
|
||||||
|
|
||||||
|
private JButton buttonR;
|
||||||
|
private JButton buttonE;
|
||||||
|
private String label;
|
||||||
|
private MainWindow mainwindow;
|
||||||
|
private UserTableModel model;
|
||||||
|
private JTable table;
|
||||||
|
|
||||||
|
public UserEditTableButton(String pLabel, JTable pTable, MainWindow pMainWindow){
|
||||||
|
this.label = pLabel;
|
||||||
|
this.table = pTable;
|
||||||
|
this.model = (UserTableModel)pTable.getModel();
|
||||||
|
this.mainwindow = pMainWindow;
|
||||||
|
this.buttonR = new JButton(pLabel);
|
||||||
|
this.buttonE = new JButton(pLabel);
|
||||||
|
|
||||||
|
this.buttonE.addActionListener(new ActionListener(){
|
||||||
|
public void actionPerformed(ActionEvent e){
|
||||||
|
fireEditingStopped();
|
||||||
|
|
||||||
|
int row = table.getSelectedRow();
|
||||||
|
|
||||||
|
mainwindow.setModeEditUser(model.getUserId(row), model.getUserName(row), model.getUserSurname(row));
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public Object getCellEditorValue() {
|
||||||
|
return this.label;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Component getTableCellEditorComponent(JTable table, Object value, boolean isSelected, int row, int column) {
|
||||||
|
return this.buttonE;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
|
||||||
|
return this.buttonR;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -14,8 +14,8 @@ public class UserTableModel extends AbstractTableModel {
|
|||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 435829735305533728L;
|
private static final long serialVersionUID = 435829735305533728L;
|
||||||
private DbConnector dbCon;
|
private DbConnector dbCon;
|
||||||
private String[] header = {"Vorname", "Nachname", "Bearbeiten", "L<EFBFBD>schen"};
|
private String[] header = {"ID", "Vorname", "Nachname", "", ""};
|
||||||
private ArrayList<KUser> data;
|
private ArrayList<KUser> data = new ArrayList<KUser>();
|
||||||
|
|
||||||
public UserTableModel(DbConnector pDbCon){
|
public UserTableModel(DbConnector pDbCon){
|
||||||
this.dbCon = pDbCon;
|
this.dbCon = pDbCon;
|
||||||
@@ -34,9 +34,19 @@ public class UserTableModel extends AbstractTableModel {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getValueAt(int row, int col) {
|
public String getValueAt(int row, int col) {
|
||||||
if(col == 0) return this.data.get(row).getName();
|
switch(col){
|
||||||
else if (col == 1) return this.data.get(row).getSurname();
|
case 0:
|
||||||
else return null;
|
return String.valueOf(this.data.get(row).getId());
|
||||||
|
|
||||||
|
case 1:
|
||||||
|
return this.data.get(row).getName();
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
return this.data.get(row).getSurname();
|
||||||
|
|
||||||
|
default:
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getColumnName(int index){
|
public String getColumnName(int index){
|
||||||
@@ -50,7 +60,7 @@ public class UserTableModel extends AbstractTableModel {
|
|||||||
|
|
||||||
// Die Funktion muss differenzierter werden
|
// Die Funktion muss differenzierter werden
|
||||||
public boolean isCellEditable(int row, int col){
|
public boolean isCellEditable(int row, int col){
|
||||||
if (col > 1) return true;
|
if (col > 2) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -67,8 +77,11 @@ public class UserTableModel extends AbstractTableModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean deleteUser(int id){
|
public boolean deleteUser(int id){
|
||||||
if (dbCon.deleteUser(id)){
|
if(dbCon.deleteUser(id)){
|
||||||
updateTable();
|
int row = this.getRowFromId(id);
|
||||||
|
this.data.remove(row);
|
||||||
|
this.fireTableRowsDeleted(row, row);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
@@ -81,4 +94,32 @@ public class UserTableModel extends AbstractTableModel {
|
|||||||
|
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int editUser(int pId, String pName, String pSurname) {
|
||||||
|
int status = this.dbCon.editUser(pId, pName, pSurname);
|
||||||
|
|
||||||
|
if(status == 0){
|
||||||
|
int row = this.getRowFromId(pId);
|
||||||
|
|
||||||
|
this.data.get(row).setName(pName);
|
||||||
|
this.data.get(row).setSurname(pSurname);
|
||||||
|
this.fireTableRowsUpdated(row, row);
|
||||||
|
}
|
||||||
|
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @param pId
|
||||||
|
* @return Returns -1 if there is no row for the given id.
|
||||||
|
*/
|
||||||
|
private int getRowFromId(int pId){
|
||||||
|
for(KUser elem : this.data){
|
||||||
|
if(elem.getId() == pId) return data.indexOf(elem);
|
||||||
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user