Angefangen, Controller für die einzelnen GUI-Formulare zu
implementieren, um Daten und Geschäftslogik strenger zu trennen.
This commit is contained in:
@@ -4,5 +4,6 @@
|
|||||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||||
<classpathentry kind="lib" path="lib/mysql-connector-java-5.1.32-bin.jar"/>
|
<classpathentry kind="lib" path="lib/mysql-connector-java-5.1.32-bin.jar"/>
|
||||||
<classpathentry kind="lib" path="lib/sqlite-jdbc-3.7.2.jar"/>
|
<classpathentry kind="lib" path="lib/sqlite-jdbc-3.7.2.jar"/>
|
||||||
|
<classpathentry kind="lib" path="lib/jdatepicker-1.3.4.jar"/>
|
||||||
<classpathentry kind="output" path="bin"/>
|
<classpathentry kind="output" path="bin"/>
|
||||||
</classpath>
|
</classpath>
|
||||||
|
|||||||
@@ -15,5 +15,6 @@ public interface DbConnector {
|
|||||||
public int createArticle(String pName, String pDesc);
|
public int createArticle(String pName, String pDesc);
|
||||||
public boolean deleteArticle(int id);
|
public boolean deleteArticle(int id);
|
||||||
public int editArticle(int pId, String pName, String pDesc);
|
public int editArticle(int pId, String pName, String pDesc);
|
||||||
|
public ArrayList<KArticle> getFreeArticleList();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,4 +60,10 @@ public class SqlConnector implements DbConnector{
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ArrayList<KArticle> getFreeArticleList() {
|
||||||
|
// TODO Auto-generated method stub
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -182,44 +182,6 @@ public class SqliteConnector implements DbConnector {
|
|||||||
|
|
||||||
return text.toString();
|
return text.toString();
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
*
|
|
||||||
* @return 0: Benutzer erfolgreich erzeugt
|
|
||||||
* 1: SQL-Fehler beim Erzeugen
|
|
||||||
* 2: Benutzername ist leer
|
|
||||||
*/
|
|
||||||
public int createUser(String pName, String pSurname){
|
|
||||||
if (pName.isEmpty() && pSurname.isEmpty()) return 2;
|
|
||||||
try {
|
|
||||||
Statement st = this.connection.createStatement();
|
|
||||||
String query = "INSERT INTO user (name, surname) VALUES ('"+pName+"', '"+pSurname+"')";
|
|
||||||
|
|
||||||
st.executeUpdate(query);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
} catch (SQLException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean deleteUser(int id){
|
|
||||||
// @TODO: Ausleihen auf einen anderen User umschreiben!
|
|
||||||
try {
|
|
||||||
Statement st = this.connection.createStatement();
|
|
||||||
String query = "DELETE FROM user WHERE id = '"+id+"'";
|
|
||||||
|
|
||||||
st.executeUpdate(query);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
catch (SQLException e){
|
|
||||||
e.printStackTrace();
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public ArrayList<KUser> getUserList(){
|
public ArrayList<KUser> getUserList(){
|
||||||
ArrayList<KUser> userArr = new ArrayList<KUser>();
|
ArrayList<KUser> userArr = new ArrayList<KUser>();
|
||||||
|
|
||||||
@@ -260,6 +222,48 @@ public class SqliteConnector implements DbConnector {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<KArticle> getFreeArticleList() {
|
||||||
|
ArrayList<KArticle> artArr = new ArrayList<KArticle>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
Statement st = this.connection.createStatement();
|
||||||
|
String query = "SELECT article.id, name, description FROM article LEFT OUTER JOIN lending ON article.id = lending.article_id WHERE lending.start_date IS NULL OR (lending.start_date IS NOT NULL AND lending.end_date IS NOT NULL);";
|
||||||
|
ResultSet rs = st.executeQuery(query);
|
||||||
|
|
||||||
|
while (rs.next()){
|
||||||
|
artArr.add(new KArticle(rs.getInt("id"), rs.getString("name"), rs.getString("description")));
|
||||||
|
}
|
||||||
|
|
||||||
|
return artArr;
|
||||||
|
}
|
||||||
|
catch(SQLException ex){
|
||||||
|
ex.printStackTrace();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* @return 0: Benutzer erfolgreich erzeugt
|
||||||
|
* 1: SQL-Fehler beim Erzeugen
|
||||||
|
* 2: Benutzername ist leer
|
||||||
|
*/
|
||||||
|
public int createUser(String pName, String pSurname){
|
||||||
|
if (pName.isEmpty() && pSurname.isEmpty()) return 2;
|
||||||
|
try {
|
||||||
|
Statement st = this.connection.createStatement();
|
||||||
|
String query = "INSERT INTO user (name, surname) VALUES ('"+pName+"', '"+pSurname+"')";
|
||||||
|
|
||||||
|
st.executeUpdate(query);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
} catch (SQLException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public int editUser(int pId, String pName, String pSurname) {
|
public int editUser(int pId, String pName, String pSurname) {
|
||||||
if(pName.isEmpty() && pSurname.isEmpty()) return 2;
|
if(pName.isEmpty() && pSurname.isEmpty()) return 2;
|
||||||
try {
|
try {
|
||||||
@@ -276,6 +280,22 @@ public class SqliteConnector implements DbConnector {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public boolean deleteUser(int id){
|
||||||
|
// @TODO: Ausleihen auf einen anderen User umschreiben!
|
||||||
|
try {
|
||||||
|
Statement st = this.connection.createStatement();
|
||||||
|
String query = "DELETE FROM user WHERE id = '"+id+"'";
|
||||||
|
|
||||||
|
st.executeUpdate(query);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
catch (SQLException e){
|
||||||
|
e.printStackTrace();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public int createArticle(String pName, String pDesc) {
|
public int createArticle(String pName, String pDesc) {
|
||||||
if (pName.isEmpty()) return 2;
|
if (pName.isEmpty()) return 2;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -22,15 +22,17 @@ import javax.swing.JTextField;
|
|||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
import javax.swing.border.TitledBorder;
|
import javax.swing.border.TitledBorder;
|
||||||
|
|
||||||
|
import de.katho.kBorrow.controller.ArticleController;
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
import de.katho.kBorrow.listener.ArticleDeleteTableButton;
|
import de.katho.kBorrow.listener.ArticleDeleteTableButton;
|
||||||
import de.katho.kBorrow.listener.ArticleEditTableButton;
|
import de.katho.kBorrow.listener.ArticleEditTableButton;
|
||||||
import de.katho.kBorrow.models.ArticleTableModel;
|
import de.katho.kBorrow.models.ArticleModel;
|
||||||
|
|
||||||
public class PanelArticle extends JPanel implements ActionListener, KeyListener {
|
public class ArticlePanel extends JPanel implements ActionListener, KeyListener {
|
||||||
|
|
||||||
private static final long serialVersionUID = -8511924597640457608L;
|
private static final long serialVersionUID = -8511924597640457608L;
|
||||||
private ArticleTableModel articleTableModel;
|
private ArticleModel articleModel;
|
||||||
|
private ArticleController articleController;
|
||||||
private JTextArea textAreaArticleDescription;
|
private JTextArea textAreaArticleDescription;
|
||||||
private JTextField textFieldArticleName;
|
private JTextField textFieldArticleName;
|
||||||
private JButton btnArticleSave;
|
private JButton btnArticleSave;
|
||||||
@@ -43,17 +45,19 @@ public class PanelArticle extends JPanel implements ActionListener, KeyListener
|
|||||||
* Create the panel.
|
* Create the panel.
|
||||||
* @throws IOException
|
* @throws IOException
|
||||||
*/
|
*/
|
||||||
public PanelArticle(final DbConnector dbCon) throws IOException {
|
public ArticlePanel(final DbConnector dbCon) throws IOException {
|
||||||
super();
|
super();
|
||||||
this.setLayout(null);
|
this.setLayout(null);
|
||||||
|
articleModel = new ArticleModel(dbCon);
|
||||||
|
articleController = new ArticleController(dbCon, articleModel);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Tabelle und drumherum
|
* Tabelle und drumherum
|
||||||
*/
|
*/
|
||||||
this.articleTableModel = new ArticleTableModel(dbCon);
|
|
||||||
JTable articleTable = new JTable(articleTableModel);
|
JTable articleTable = new JTable(articleModel);
|
||||||
articleTable.setRowHeight(30);
|
articleTable.setRowHeight(30);
|
||||||
ArticleDeleteTableButton articleDeleteTableButton = new ArticleDeleteTableButton("Löschen", articleTable);
|
ArticleDeleteTableButton articleDeleteTableButton = new ArticleDeleteTableButton("Löschen", articleTable, this, articleController);
|
||||||
ArticleEditTableButton articleEditTableButton = new ArticleEditTableButton("Bearbeiten", articleTable, this);
|
ArticleEditTableButton articleEditTableButton = new ArticleEditTableButton("Bearbeiten", articleTable, this);
|
||||||
|
|
||||||
for (int i = 3; i <= 4; i++){
|
for (int i = 3; i <= 4; i++){
|
||||||
@@ -64,6 +68,9 @@ public class PanelArticle extends JPanel implements ActionListener, KeyListener
|
|||||||
articleTable.getColumnModel().getColumn(i).setMaxWidth(30);
|
articleTable.getColumnModel().getColumn(i).setMaxWidth(30);
|
||||||
articleTable.getColumnModel().getColumn(i).setPreferredWidth(30);
|
articleTable.getColumnModel().getColumn(i).setPreferredWidth(30);
|
||||||
}
|
}
|
||||||
|
articleTable.getColumnModel().getColumn(0).setMinWidth(30);
|
||||||
|
articleTable.getColumnModel().getColumn(0).setMaxWidth(30);
|
||||||
|
articleTable.getColumnModel().getColumn(0).setPreferredWidth(30);
|
||||||
|
|
||||||
articleTable.setFillsViewportHeight(true);
|
articleTable.setFillsViewportHeight(true);
|
||||||
|
|
||||||
@@ -122,7 +129,7 @@ public class PanelArticle extends JPanel implements ActionListener, KeyListener
|
|||||||
* PanelArticleEdit
|
* PanelArticleEdit
|
||||||
*/
|
*/
|
||||||
JPanel panelArticleEdit = new JPanel();
|
JPanel panelArticleEdit = new JPanel();
|
||||||
panelArticleEdit.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Artikel hinzuf\u00FCgen / bearbeiten", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panelArticleEdit.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Artikel hinzufügen / bearbeiten", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
||||||
panelArticleEdit.setBounds(0, 273, 589, 170);
|
panelArticleEdit.setBounds(0, 273, 589, 170);
|
||||||
panelArticleEdit.setLayout(null);
|
panelArticleEdit.setLayout(null);
|
||||||
panelArticleEdit.add(lblName);
|
panelArticleEdit.add(lblName);
|
||||||
@@ -145,8 +152,33 @@ public class PanelArticle extends JPanel implements ActionListener, KeyListener
|
|||||||
* Aktionen für den Button "Artikel speichern"
|
* Aktionen für den Button "Artikel speichern"
|
||||||
*/
|
*/
|
||||||
if(e.getSource() == this.btnArticleSave){
|
if(e.getSource() == this.btnArticleSave){
|
||||||
|
saveButtonPressed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Aktionen für den Button "Artikel abbrechen"
|
||||||
|
*/
|
||||||
|
if(e.getSource() == this.btnArticleCancel){
|
||||||
|
this.resetModeEditArticle();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetModeEditArticle() {
|
||||||
|
this.articleModeEdit = false;
|
||||||
|
this.textFieldArticleName.setText("");
|
||||||
|
this.textAreaArticleDescription.setText("");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModeEditArticle(int articleId, String articleName, String articleDescription) {
|
||||||
|
this.articleModeEdit = true;
|
||||||
|
this.articleEditId = articleId;
|
||||||
|
this.textFieldArticleName.setText(articleName);
|
||||||
|
this.textAreaArticleDescription.setText(articleDescription);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveButtonPressed(){
|
||||||
if(this.articleModeEdit){
|
if(this.articleModeEdit){
|
||||||
int re = this.articleTableModel.editArticle(this.articleEditId, this.textFieldArticleName.getText(), this.textAreaArticleDescription.getText());
|
int re = articleController.editArticle(this.articleEditId, this.textFieldArticleName.getText(), this.textAreaArticleDescription.getText());
|
||||||
|
|
||||||
switch(re){
|
switch(re){
|
||||||
case 0:
|
case 0:
|
||||||
@@ -172,29 +204,7 @@ public class PanelArticle extends JPanel implements ActionListener, KeyListener
|
|||||||
}
|
}
|
||||||
|
|
||||||
else {
|
else {
|
||||||
saveButtonPressed();
|
int re = articleController.createArticle(this.textFieldArticleName.getText(), this.textAreaArticleDescription.getText());
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Aktionen für den Button "Artikel abbrechen"
|
|
||||||
*/
|
|
||||||
if(e.getSource() == this.btnArticleCancel){
|
|
||||||
this.articleModeEdit = false;
|
|
||||||
this.textFieldArticleName.setText("");
|
|
||||||
this.textAreaArticleDescription.setText("");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setModeEditArticle(int articleId, String articleName, String articleDescription) {
|
|
||||||
this.articleModeEdit = true;
|
|
||||||
this.articleEditId = articleId;
|
|
||||||
this.textFieldArticleName.setText(articleName);
|
|
||||||
this.textAreaArticleDescription.setText(articleDescription);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void saveButtonPressed(){
|
|
||||||
int re = this.articleTableModel.createArticle(this.textFieldArticleName.getText(), this.textAreaArticleDescription.getText());
|
|
||||||
|
|
||||||
switch(re){
|
switch(re){
|
||||||
case 0:
|
case 0:
|
||||||
@@ -214,6 +224,7 @@ public class PanelArticle extends JPanel implements ActionListener, KeyListener
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(KeyEvent e) {
|
||||||
@@ -55,8 +55,8 @@ public class MainWindow {
|
|||||||
this.frame.getContentPane().add(this.tabbedPane, BorderLayout.CENTER);
|
this.frame.getContentPane().add(this.tabbedPane, BorderLayout.CENTER);
|
||||||
this.tabbedPane.addTab("Neue Ausleihe", new PanelNewLending(this.dbCon));
|
this.tabbedPane.addTab("Neue Ausleihe", new PanelNewLending(this.dbCon));
|
||||||
this.tabbedPane.addTab("Ausleihen verwalten", new PanelManageLendings(this.dbCon));
|
this.tabbedPane.addTab("Ausleihen verwalten", new PanelManageLendings(this.dbCon));
|
||||||
this.tabbedPane.addTab("Artikel verwalten", new PanelArticle(this.dbCon));
|
this.tabbedPane.addTab("Artikel verwalten", new ArticlePanel(this.dbCon));
|
||||||
this.tabbedPane.addTab("Benutzer verwalten", new PanelUser(this.dbCon));
|
this.tabbedPane.addTab("Benutzer verwalten", new UserPanel(this.dbCon));
|
||||||
|
|
||||||
}
|
}
|
||||||
catch(ClassNotFoundException | InstantiationException | IllegalAccessException | IOException | UnsupportedLookAndFeelException | SQLException e) {
|
catch(ClassNotFoundException | InstantiationException | IllegalAccessException | IOException | UnsupportedLookAndFeelException | SQLException e) {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import javax.swing.JPanel;
|
|||||||
|
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
import de.katho.kBorrow.listener.NewLendingTableButton;
|
import de.katho.kBorrow.listener.NewLendingTableButton;
|
||||||
import de.katho.kBorrow.models.FreeArticleTableModel;
|
import de.katho.kBorrow.models.FreeArticleModel;
|
||||||
|
|
||||||
import javax.swing.border.TitledBorder;
|
import javax.swing.border.TitledBorder;
|
||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
@@ -13,13 +13,25 @@ import javax.swing.JTable;
|
|||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JComboBox;
|
||||||
|
import javax.swing.JSeparator;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JTextField;
|
||||||
|
import javax.swing.UIManager;
|
||||||
|
|
||||||
|
import java.awt.Color;
|
||||||
|
|
||||||
public class PanelNewLending extends JPanel {
|
public class PanelNewLending extends JPanel {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -7346953418572781322L;
|
private static final long serialVersionUID = -7346953418572781322L;
|
||||||
private FreeArticleTableModel freeArticleTableModel;
|
private FreeArticleModel freeArticleModel;
|
||||||
|
private JTextField tfName;
|
||||||
|
private JTextField tfSurname;
|
||||||
|
private JTextField tfStudentNumber;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create the panel.
|
* Create the panel.
|
||||||
@@ -30,8 +42,8 @@ public class PanelNewLending extends JPanel {
|
|||||||
this.setLayout(null);
|
this.setLayout(null);
|
||||||
|
|
||||||
// FreeArticleTable
|
// FreeArticleTable
|
||||||
this.freeArticleTableModel = new FreeArticleTableModel(dbCon);
|
this.freeArticleModel = new FreeArticleModel(dbCon);
|
||||||
JTable freeArticleTable = new JTable(freeArticleTableModel);
|
JTable freeArticleTable = new JTable(freeArticleModel);
|
||||||
freeArticleTable.setRowHeight(30);
|
freeArticleTable.setRowHeight(30);
|
||||||
|
|
||||||
NewLendingTableButton newLendingTableButton = new NewLendingTableButton("Artikel ausleihen", freeArticleTable, this);
|
NewLendingTableButton newLendingTableButton = new NewLendingTableButton("Artikel ausleihen", freeArticleTable, this);
|
||||||
@@ -40,6 +52,9 @@ public class PanelNewLending extends JPanel {
|
|||||||
freeArticleTable.getColumnModel().getColumn(3).setMinWidth(30);
|
freeArticleTable.getColumnModel().getColumn(3).setMinWidth(30);
|
||||||
freeArticleTable.getColumnModel().getColumn(3).setMaxWidth(30);
|
freeArticleTable.getColumnModel().getColumn(3).setMaxWidth(30);
|
||||||
freeArticleTable.getColumnModel().getColumn(3).setPreferredWidth(30);
|
freeArticleTable.getColumnModel().getColumn(3).setPreferredWidth(30);
|
||||||
|
freeArticleTable.getColumnModel().getColumn(0).setMinWidth(30);
|
||||||
|
freeArticleTable.getColumnModel().getColumn(0).setMaxWidth(30);
|
||||||
|
freeArticleTable.getColumnModel().getColumn(0).setPreferredWidth(30);
|
||||||
|
|
||||||
|
|
||||||
freeArticleTable.setFillsViewportHeight(true);
|
freeArticleTable.setFillsViewportHeight(true);
|
||||||
@@ -47,7 +62,7 @@ public class PanelNewLending extends JPanel {
|
|||||||
|
|
||||||
// Panel: FreeArticleList
|
// Panel: FreeArticleList
|
||||||
JPanel panelFreeArticleList = new JPanel();
|
JPanel panelFreeArticleList = new JPanel();
|
||||||
panelFreeArticleList.setBorder(new TitledBorder(null, "Vorhandene Artikel", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panelFreeArticleList.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "Verf\u00FCgbare Artikel", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
||||||
panelFreeArticleList.setBounds(0, 0, 589, 253);
|
panelFreeArticleList.setBounds(0, 0, 589, 253);
|
||||||
panelFreeArticleList.setLayout(new BorderLayout(0, 0));
|
panelFreeArticleList.setLayout(new BorderLayout(0, 0));
|
||||||
panelFreeArticleList.add(new JScrollPane(freeArticleTable));
|
panelFreeArticleList.add(new JScrollPane(freeArticleTable));
|
||||||
@@ -60,6 +75,74 @@ public class PanelNewLending extends JPanel {
|
|||||||
|
|
||||||
this.add(panelFreeArticleList);
|
this.add(panelFreeArticleList);
|
||||||
this.add(panelNewLending);
|
this.add(panelNewLending);
|
||||||
|
panelNewLending.setLayout(null);
|
||||||
|
|
||||||
|
JLabel lblArtikelname = new JLabel("Artikelname:");
|
||||||
|
lblArtikelname.setBounds(10, 20, 90, 20);
|
||||||
|
panelNewLending.add(lblArtikelname);
|
||||||
|
|
||||||
|
JLabel lblArticleName = new JLabel("");
|
||||||
|
lblArticleName.setBounds(110, 20, 100, 20);
|
||||||
|
panelNewLending.add(lblArticleName);
|
||||||
|
|
||||||
|
JLabel lblAusgeliehenAm = new JLabel("Ausgeliehen am:");
|
||||||
|
lblAusgeliehenAm.setBounds(10, 40, 90, 20);
|
||||||
|
panelNewLending.add(lblAusgeliehenAm);
|
||||||
|
|
||||||
|
JLabel lblStartDate = new JLabel("");
|
||||||
|
lblStartDate.setBounds(110, 40, 100, 20);
|
||||||
|
panelNewLending.add(lblStartDate);
|
||||||
|
|
||||||
|
JLabel lblNewLabel = new JLabel("Vor. R<>ckgabe:");
|
||||||
|
lblNewLabel.setBounds(10, 60, 90, 20);
|
||||||
|
panelNewLending.add(lblNewLabel);
|
||||||
|
|
||||||
|
JLabel lblBenutzer = new JLabel("Benutzer:");
|
||||||
|
lblBenutzer.setBounds(350, 20, 70, 20);
|
||||||
|
panelNewLending.add(lblBenutzer);
|
||||||
|
|
||||||
|
JComboBox comboBox = new JComboBox();
|
||||||
|
comboBox.setBounds(430, 20, 130, 20);
|
||||||
|
panelNewLending.add(comboBox);
|
||||||
|
|
||||||
|
JSeparator separator = new JSeparator();
|
||||||
|
separator.setBounds(10, 90, 569, 2);
|
||||||
|
panelNewLending.add(separator);
|
||||||
|
|
||||||
|
JButton btnAbbrechen = new JButton("Abbrechen");
|
||||||
|
btnAbbrechen.setBounds(471, 130, 89, 23);
|
||||||
|
panelNewLending.add(btnAbbrechen);
|
||||||
|
|
||||||
|
JButton btnSpeichern = new JButton("Speichern");
|
||||||
|
btnSpeichern.setBounds(471, 160, 89, 23);
|
||||||
|
panelNewLending.add(btnSpeichern);
|
||||||
|
|
||||||
|
JLabel lblNewLabel_1 = new JLabel("Name:");
|
||||||
|
lblNewLabel_1.setBounds(10, 100, 90, 20);
|
||||||
|
panelNewLending.add(lblNewLabel_1);
|
||||||
|
|
||||||
|
JLabel lblNewLabel_2 = new JLabel("Nachname:");
|
||||||
|
lblNewLabel_2.setBounds(10, 130, 90, 20);
|
||||||
|
panelNewLending.add(lblNewLabel_2);
|
||||||
|
|
||||||
|
JLabel lblNewLabel_3 = new JLabel("Matrikelnummer:");
|
||||||
|
lblNewLabel_3.setBounds(10, 160, 90, 20);
|
||||||
|
panelNewLending.add(lblNewLabel_3);
|
||||||
|
|
||||||
|
tfName = new JTextField();
|
||||||
|
tfName.setBounds(110, 100, 90, 20);
|
||||||
|
panelNewLending.add(tfName);
|
||||||
|
tfName.setColumns(10);
|
||||||
|
|
||||||
|
tfSurname = new JTextField();
|
||||||
|
tfSurname.setBounds(110, 130, 90, 20);
|
||||||
|
panelNewLending.add(tfSurname);
|
||||||
|
tfSurname.setColumns(10);
|
||||||
|
|
||||||
|
tfStudentNumber = new JTextField();
|
||||||
|
tfStudentNumber.setBounds(110, 160, 90, 20);
|
||||||
|
panelNewLending.add(tfStudentNumber);
|
||||||
|
tfStudentNumber.setColumns(10);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,12 +18,13 @@ import javax.swing.JTextField;
|
|||||||
import javax.swing.UIManager;
|
import javax.swing.UIManager;
|
||||||
import javax.swing.border.TitledBorder;
|
import javax.swing.border.TitledBorder;
|
||||||
|
|
||||||
|
import de.katho.kBorrow.controller.UserController;
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
import de.katho.kBorrow.listener.UserDeleteTableButton;
|
import de.katho.kBorrow.listener.UserDeleteTableButton;
|
||||||
import de.katho.kBorrow.listener.UserEditTableButton;
|
import de.katho.kBorrow.listener.UserEditTableButton;
|
||||||
import de.katho.kBorrow.models.UserTableModel;
|
import de.katho.kBorrow.models.UserModel;
|
||||||
|
|
||||||
public class PanelUser extends JPanel implements ActionListener, KeyListener {
|
public class UserPanel extends JPanel implements ActionListener, KeyListener {
|
||||||
|
|
||||||
private static final long serialVersionUID = -319340262589243978L;
|
private static final long serialVersionUID = -319340262589243978L;
|
||||||
private JLabel lblUserStatus;
|
private JLabel lblUserStatus;
|
||||||
@@ -33,17 +34,19 @@ public class PanelUser extends JPanel implements ActionListener, KeyListener {
|
|||||||
private JButton btnUserCancel;
|
private JButton btnUserCancel;
|
||||||
private boolean userModeEdit;
|
private boolean userModeEdit;
|
||||||
private int userEditId;
|
private int userEditId;
|
||||||
private UserTableModel userTableModel;
|
private UserModel userModel;
|
||||||
|
private UserController userController;
|
||||||
|
|
||||||
public PanelUser(final DbConnector dbCon) throws IOException{
|
public UserPanel(final DbConnector dbCon) throws IOException{
|
||||||
super();
|
super();
|
||||||
this.setLayout(null);
|
this.setLayout(null);
|
||||||
|
this.userModel = new UserModel(dbCon);
|
||||||
|
this.userController = new UserController(dbCon, this.userModel);
|
||||||
|
|
||||||
//Tabelle und drumherum
|
//Tabelle und drumherum
|
||||||
this.userTableModel = new UserTableModel(dbCon);
|
JTable userTable = new JTable(userModel);
|
||||||
JTable userTable = new JTable(userTableModel);
|
|
||||||
userTable.setRowHeight(30);
|
userTable.setRowHeight(30);
|
||||||
UserDeleteTableButton userDeleteTableButton = new UserDeleteTableButton("Löschen", userTable);
|
UserDeleteTableButton userDeleteTableButton = new UserDeleteTableButton("Löschen", userTable, this, userController);
|
||||||
UserEditTableButton userEditTableButton = new UserEditTableButton("Bearbeiten", userTable, this);
|
UserEditTableButton userEditTableButton = new UserEditTableButton("Bearbeiten", userTable, this);
|
||||||
|
|
||||||
for (int i = 3; i <= 4; i++){
|
for (int i = 3; i <= 4; i++){
|
||||||
@@ -54,6 +57,9 @@ public class PanelUser extends JPanel implements ActionListener, KeyListener {
|
|||||||
userTable.getColumnModel().getColumn(i).setMaxWidth(30);
|
userTable.getColumnModel().getColumn(i).setMaxWidth(30);
|
||||||
userTable.getColumnModel().getColumn(i).setPreferredWidth(30);
|
userTable.getColumnModel().getColumn(i).setPreferredWidth(30);
|
||||||
}
|
}
|
||||||
|
userTable.getColumnModel().getColumn(0).setMinWidth(30);
|
||||||
|
userTable.getColumnModel().getColumn(0).setMaxWidth(30);
|
||||||
|
userTable.getColumnModel().getColumn(0).setPreferredWidth(30);
|
||||||
|
|
||||||
userTable.setFillsViewportHeight(true);
|
userTable.setFillsViewportHeight(true);
|
||||||
|
|
||||||
@@ -121,8 +127,34 @@ public class PanelUser extends JPanel implements ActionListener, KeyListener {
|
|||||||
@Override
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if(e.getSource() == this.btnUserSave){
|
if(e.getSource() == this.btnUserSave){
|
||||||
|
saveButtonPressed();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Aktionen für den Button "Benutzer abbrechen"
|
||||||
|
*/
|
||||||
|
if(e.getSource() == this.btnUserCancel){
|
||||||
|
this.resetModeEditUser();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resetModeEditUser() {
|
||||||
|
this.userModeEdit = false;
|
||||||
|
this.textFieldUserName.setText("");
|
||||||
|
this.textFieldUserSurname.setText("");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setModeEditUser(int pId, String pName, String pSurname){
|
||||||
|
this.userModeEdit = true;
|
||||||
|
this.userEditId = pId;
|
||||||
|
this.textFieldUserName.setText(pName);
|
||||||
|
this.textFieldUserSurname.setText(pSurname);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void saveButtonPressed(){
|
||||||
if(this.userModeEdit){
|
if(this.userModeEdit){
|
||||||
int re = this.userTableModel.editUser(this.userEditId, this.textFieldUserName.getText(), this.textFieldUserSurname.getText());
|
int re = this.userController.editUser(this.userEditId, this.textFieldUserName.getText(), this.textFieldUserSurname.getText());
|
||||||
|
|
||||||
switch(re){
|
switch(re){
|
||||||
case 0:
|
case 0:
|
||||||
@@ -147,30 +179,7 @@ public class PanelUser extends JPanel implements ActionListener, KeyListener {
|
|||||||
this.userEditId = -1;
|
this.userEditId = -1;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
saveButtonPressed();
|
int re = userController.createUser(this.textFieldUserName.getText(), this.textFieldUserSurname.getText());
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Aktionen für den Button "Benutzer abbrechen"
|
|
||||||
*/
|
|
||||||
if(e.getSource() == this.btnUserCancel){
|
|
||||||
this.userModeEdit = false;
|
|
||||||
this.textFieldUserName.setText("");
|
|
||||||
this.textFieldUserSurname.setText("");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setModeEditUser(int pId, String pName, String pSurname){
|
|
||||||
this.userModeEdit = true;
|
|
||||||
this.userEditId = pId;
|
|
||||||
this.textFieldUserName.setText(pName);
|
|
||||||
this.textFieldUserSurname.setText(pSurname);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void saveButtonPressed(){
|
|
||||||
int re = this.userTableModel.createUser(this.textFieldUserName.getText(), this.textFieldUserSurname.getText());
|
|
||||||
|
|
||||||
switch (re){
|
switch (re){
|
||||||
case 0:
|
case 0:
|
||||||
@@ -190,6 +199,7 @@ public class PanelUser extends JPanel implements ActionListener, KeyListener {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyPressed(KeyEvent pKeyPress) {
|
public void keyPressed(KeyEvent pKeyPress) {
|
||||||
@@ -9,7 +9,9 @@ import javax.imageio.ImageIO;
|
|||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
|
||||||
import de.katho.kBorrow.models.ArticleTableModel;
|
import de.katho.kBorrow.controller.ArticleController;
|
||||||
|
import de.katho.kBorrow.gui.ArticlePanel;
|
||||||
|
import de.katho.kBorrow.models.ArticleModel;
|
||||||
|
|
||||||
public class ArticleDeleteTableButton extends TableButton {
|
public class ArticleDeleteTableButton extends TableButton {
|
||||||
|
|
||||||
@@ -18,7 +20,7 @@ public class ArticleDeleteTableButton extends TableButton {
|
|||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = 7701712368979056068L;
|
private static final long serialVersionUID = 7701712368979056068L;
|
||||||
|
|
||||||
public ArticleDeleteTableButton(String pLabel, final JTable pTable) throws IOException {
|
public ArticleDeleteTableButton(String pLabel, final JTable pTable, final ArticlePanel pPanel, final ArticleController pController) throws IOException {
|
||||||
super(pLabel);
|
super(pLabel);
|
||||||
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/edit-delete.png")));
|
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/edit-delete.png")));
|
||||||
|
|
||||||
@@ -29,12 +31,13 @@ public class ArticleDeleteTableButton extends TableButton {
|
|||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
fireEditingStopped();
|
fireEditingStopped();
|
||||||
|
|
||||||
ArticleTableModel model = (ArticleTableModel) pTable.getModel();
|
ArticleModel model = (ArticleModel) pTable.getModel();
|
||||||
|
|
||||||
int row = pTable.getSelectedRow();
|
int row = pTable.getSelectedRow();
|
||||||
int id = model.getArticleId(row);
|
int id = model.getArticleId(row);
|
||||||
|
|
||||||
model.deleteArticle(id);
|
pController.deleteArticle(id);
|
||||||
|
pPanel.resetModeEditArticle();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import javax.imageio.ImageIO;
|
|||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
|
||||||
import de.katho.kBorrow.gui.PanelArticle;
|
import de.katho.kBorrow.gui.ArticlePanel;
|
||||||
import de.katho.kBorrow.models.ArticleTableModel;
|
import de.katho.kBorrow.models.ArticleModel;
|
||||||
|
|
||||||
public class ArticleEditTableButton extends TableButton {
|
public class ArticleEditTableButton extends TableButton {
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ public class ArticleEditTableButton extends TableButton {
|
|||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -5902626427691636902L;
|
private static final long serialVersionUID = -5902626427691636902L;
|
||||||
|
|
||||||
public ArticleEditTableButton(String pLabel, final JTable pTable, final PanelArticle articleTab) throws IOException {
|
public ArticleEditTableButton(String pLabel, final JTable pTable, final ArticlePanel articleTab) throws IOException {
|
||||||
super(pLabel);
|
super(pLabel);
|
||||||
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/accessories-text-editor.png")));
|
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/accessories-text-editor.png")));
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ public class ArticleEditTableButton extends TableButton {
|
|||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
fireEditingStopped();
|
fireEditingStopped();
|
||||||
|
|
||||||
ArticleTableModel model = (ArticleTableModel) pTable.getModel();
|
ArticleModel model = (ArticleModel) pTable.getModel();
|
||||||
int row = pTable.getSelectedRow();
|
int row = pTable.getSelectedRow();
|
||||||
|
|
||||||
articleTab.setModeEditArticle(model.getArticleId(row), model.getArticleName(row), model.getArticleDescription(row));
|
articleTab.setModeEditArticle(model.getArticleId(row), model.getArticleName(row), model.getArticleDescription(row));
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import javax.swing.ImageIcon;
|
|||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
|
||||||
import de.katho.kBorrow.gui.PanelNewLending;
|
import de.katho.kBorrow.gui.PanelNewLending;
|
||||||
import de.katho.kBorrow.models.FreeArticleTableModel;
|
import de.katho.kBorrow.models.FreeArticleModel;
|
||||||
|
|
||||||
public class NewLendingTableButton extends TableButton {
|
public class NewLendingTableButton extends TableButton {
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ public class NewLendingTableButton extends TableButton {
|
|||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
fireEditingStopped();
|
fireEditingStopped();
|
||||||
|
|
||||||
FreeArticleTableModel model = (FreeArticleTableModel) pTable.getModel();
|
FreeArticleModel model = (FreeArticleModel) pTable.getModel();
|
||||||
int row = pTable.getSelectedRow();
|
int row = pTable.getSelectedRow();
|
||||||
|
|
||||||
pPanel.setModeNewLending(model.getArticleId(row), model.getArticleName(row), model.getArticleDescription(row));
|
pPanel.setModeNewLending(model.getArticleId(row), model.getArticleName(row), model.getArticleDescription(row));
|
||||||
|
|||||||
@@ -9,13 +9,15 @@ import javax.imageio.ImageIO;
|
|||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
|
||||||
import de.katho.kBorrow.models.UserTableModel;
|
import de.katho.kBorrow.controller.UserController;
|
||||||
|
import de.katho.kBorrow.gui.UserPanel;
|
||||||
|
import de.katho.kBorrow.models.UserModel;
|
||||||
|
|
||||||
public class UserDeleteTableButton extends TableButton {
|
public class UserDeleteTableButton extends TableButton {
|
||||||
|
|
||||||
private static final long serialVersionUID = -886584066497429394L;
|
private static final long serialVersionUID = -886584066497429394L;
|
||||||
|
|
||||||
public UserDeleteTableButton(String pLabel, final JTable pTable) throws IOException{
|
public UserDeleteTableButton(String pLabel, final JTable pTable, final UserPanel pPanel, final UserController pController ) throws IOException{
|
||||||
super(pLabel);
|
super(pLabel);
|
||||||
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/edit-delete.png")));
|
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/edit-delete.png")));
|
||||||
|
|
||||||
@@ -26,12 +28,13 @@ public class UserDeleteTableButton extends TableButton {
|
|||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
fireEditingStopped();
|
fireEditingStopped();
|
||||||
|
|
||||||
UserTableModel model = (UserTableModel) pTable.getModel();
|
UserModel model = (UserModel) pTable.getModel();
|
||||||
|
|
||||||
int row = pTable.getSelectedRow();
|
int row = pTable.getSelectedRow();
|
||||||
int id = model.getUserId(row);
|
int id = model.getUserId(row);
|
||||||
|
|
||||||
model.deleteUser(id);
|
pController.deleteUser(id);
|
||||||
|
pPanel.resetModeEditUser();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ import javax.imageio.ImageIO;
|
|||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JTable;
|
import javax.swing.JTable;
|
||||||
|
|
||||||
import de.katho.kBorrow.gui.PanelUser;
|
import de.katho.kBorrow.gui.UserPanel;
|
||||||
import de.katho.kBorrow.models.UserTableModel;
|
import de.katho.kBorrow.models.UserModel;
|
||||||
|
|
||||||
public class UserEditTableButton extends TableButton {
|
public class UserEditTableButton extends TableButton {
|
||||||
|
|
||||||
@@ -19,7 +19,7 @@ public class UserEditTableButton extends TableButton {
|
|||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -886584066497429394L;
|
private static final long serialVersionUID = -886584066497429394L;
|
||||||
|
|
||||||
public UserEditTableButton(String pLabel, final JTable pTable, final PanelUser pPanel) throws IOException{
|
public UserEditTableButton(String pLabel, final JTable pTable, final UserPanel pPanel) throws IOException{
|
||||||
super(pLabel);
|
super(pLabel);
|
||||||
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/accessories-text-editor.png")));
|
ImageIcon icon = new ImageIcon(ImageIO.read(new File("assets/icons/accessories-text-editor.png")));
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ public class UserEditTableButton extends TableButton {
|
|||||||
public void actionPerformed(ActionEvent e){
|
public void actionPerformed(ActionEvent e){
|
||||||
fireEditingStopped();
|
fireEditingStopped();
|
||||||
|
|
||||||
UserTableModel model = (UserTableModel) pTable.getModel();
|
UserModel model = (UserModel) pTable.getModel();
|
||||||
int row = pTable.getSelectedRow();
|
int row = pTable.getSelectedRow();
|
||||||
|
|
||||||
pPanel.setModeEditUser(model.getUserId(row), model.getUserName(row), model.getUserSurname(row));
|
pPanel.setModeEditUser(model.getUserId(row), model.getUserName(row), model.getUserSurname(row));
|
||||||
|
|||||||
@@ -7,17 +7,18 @@ import javax.swing.table.AbstractTableModel;
|
|||||||
import de.katho.kBorrow.data.KArticle;
|
import de.katho.kBorrow.data.KArticle;
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
|
|
||||||
public class ArticleTableModel extends AbstractTableModel {
|
public class ArticleModel extends AbstractTableModel {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
private static final long serialVersionUID = -1860949772989116745L;
|
private static final long serialVersionUID = -1860949772989116745L;
|
||||||
private DbConnector dbCon;
|
protected String[] header;
|
||||||
private String[] header = {"ID", "Artikelname", "Artikelbeschreibung", "", ""};
|
protected DbConnector dbCon;
|
||||||
private ArrayList<KArticle> data = new ArrayList<KArticle>();
|
protected ArrayList<KArticle> data = new ArrayList<KArticle>();
|
||||||
|
|
||||||
public ArticleTableModel(DbConnector pDbCon){
|
public ArticleModel(DbConnector pDbCon){
|
||||||
|
header = new String [] {"ID", "Artikelname", "Artikelbeschreibung", "", ""};
|
||||||
this.dbCon = pDbCon;
|
this.dbCon = pDbCon;
|
||||||
this.updateTable();
|
this.updateTable();
|
||||||
}
|
}
|
||||||
@@ -26,20 +27,19 @@ public class ArticleTableModel extends AbstractTableModel {
|
|||||||
return header[index];
|
return header[index];
|
||||||
}
|
}
|
||||||
|
|
||||||
private void updateTable() {
|
public void updateTable() {
|
||||||
this.data = this.dbCon.getArticleList();
|
this.data = this.dbCon.getArticleList();
|
||||||
this.fireTableDataChanged();
|
this.fireTableDataChanged();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public int getColumnCount() {
|
public int getColumnCount() {
|
||||||
return this.header.length;
|
return header.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public int getRowCount() {
|
public int getRowCount() {
|
||||||
return this.data.size();
|
return data.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -94,30 +94,14 @@ public class ArticleTableModel extends AbstractTableModel {
|
|||||||
return this.data.get(pRow).getDescription();
|
return this.data.get(pRow).getDescription();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Löscht den Artikel mit der gegebenen ID in der Datenbank und aktualisiert die Tabelle.
|
|
||||||
*
|
|
||||||
* @param id ID des Artikels, der gelöscht werden soll.
|
|
||||||
* @return true, wenn der Artikel erfolgreich gelöscht wurde. false, wenn ein Fehler aufgetreten ist.
|
|
||||||
*/
|
|
||||||
public boolean deleteArticle(int id) {
|
|
||||||
if(this.dbCon.deleteArticle(id)){
|
|
||||||
int row = this.getRowFromId(id);
|
|
||||||
this.data.remove(row);
|
|
||||||
this.fireTableRowsDeleted(row, row);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* Gibt die entsprechende Zeile in der Tabelle für ein Objekt mit der gegebenen ID zurück.
|
* Gibt die entsprechende Zeile in der Tabelle für ein Objekt mit der gegebenen ID zurück.
|
||||||
*
|
*
|
||||||
* @param id ID, für die die Tabellenzeile herausgesucht werden soll
|
* @param id ID, für die die Tabellenzeile herausgesucht werden soll
|
||||||
* @return Zeile in der Tabelle. -1, wenn die ID nicht vorhanden ist.
|
* @return Zeile in der Tabelle. -1, wenn die ID nicht vorhanden ist.
|
||||||
*/
|
*/
|
||||||
private int getRowFromId(int id) {
|
public int getRowFromId(int id) {
|
||||||
for (KArticle elem : this.data){
|
for (KArticle elem : this.data){
|
||||||
if(elem.getId() == id) return data.indexOf(elem);
|
if(elem.getId() == id) return data.indexOf(elem);
|
||||||
}
|
}
|
||||||
@@ -125,44 +109,36 @@ public class ArticleTableModel extends AbstractTableModel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Erzeugt einen neuen Artikel in der Datenbank und aktualisiert die Tabelle
|
* Entfernt die gegebene Zeile aus der ArrayList
|
||||||
*
|
*
|
||||||
* @param pName Name des Artikels
|
* @param pRow Zeile, die gelöscht wird.
|
||||||
* @param pDesc Beschreibung des Artikels
|
|
||||||
* @return 0: Artikel erfolgreich erzeugt
|
|
||||||
* 1: SQL-Fehler beim Erzeugen
|
|
||||||
* 2: Feld "Name" leer
|
|
||||||
*/
|
*/
|
||||||
public int createArticle(String pName, String pDesc) {
|
public void removeRow(int pRow){
|
||||||
int status = this.dbCon.createArticle(pName, pDesc);
|
data.remove(pRow);
|
||||||
|
fireTableRowsDeleted(pRow, pRow);
|
||||||
updateTable();
|
|
||||||
|
|
||||||
return status;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Ändert einen Artikel in der Datenbank und aktualisiert die Tabelle
|
* Gibt das Article-Objekt der übergebenen Zeile zurück.
|
||||||
*
|
*
|
||||||
* @param pId Id des Artikels, der geändert werden soll
|
* @param pRow Zeile, deren Article-Objekt zurückgegeben werden soll.
|
||||||
* @param pName (Neuer) Name des Artikels
|
* @return KArticle-Objekt
|
||||||
* @param pDesc (Neue) Beschreibung des Artikels
|
|
||||||
* @return 0: Artikel erfolgreich geändert
|
|
||||||
* 1: SQL-Fehler beim Erzeugen
|
|
||||||
* 2: Artikelname ist leer
|
|
||||||
*/
|
*/
|
||||||
public int editArticle(int pId, String pName, String pDesc) {
|
public KArticle getArticleByRow(int pRow){
|
||||||
int status = this.dbCon.editArticle(pId, pName, pDesc);
|
return this.data.get(pRow);
|
||||||
|
|
||||||
if(status == 0){
|
|
||||||
int row = this.getRowFromId(pId);
|
|
||||||
|
|
||||||
this.data.get(row).setName(pName);
|
|
||||||
this.data.get(row).setDescription(pDesc);
|
|
||||||
this.fireTableRowsUpdated(row, row);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return status;
|
/**
|
||||||
|
* Gibt das Article-Objekt mit der entsprechendne ID zurück.
|
||||||
|
*
|
||||||
|
* @param pId Id, deren Objekt zurückgegeben werden soll.
|
||||||
|
* @return KArticle-Objekt
|
||||||
|
*/
|
||||||
|
public KArticle getArticleById(int pId){
|
||||||
|
for(KArticle elem : data){
|
||||||
|
if(elem.getId() == pId) return elem;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,74 +0,0 @@
|
|||||||
package de.katho.kBorrow.models;
|
|
||||||
|
|
||||||
import javax.swing.table.AbstractTableModel;
|
|
||||||
import java.util.ArrayList;
|
|
||||||
|
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
|
||||||
import de.katho.kBorrow.data.KArticle;
|
|
||||||
|
|
||||||
public class FreeArticleTableModel extends AbstractTableModel {
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
private static final long serialVersionUID = -7318589937150373541L;
|
|
||||||
private DbConnector dbCon;
|
|
||||||
String[] header = {"ID", "Artikelname", "Artikelbeschreibung", ""};
|
|
||||||
private ArrayList<KArticle> data = new ArrayList<KArticle>();
|
|
||||||
|
|
||||||
public FreeArticleTableModel(DbConnector pDbCon) {
|
|
||||||
this.dbCon = pDbCon;
|
|
||||||
this.updateTable();
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getColumnName(int pIndex){
|
|
||||||
return header[pIndex];
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getColumnCount() {
|
|
||||||
return header.length;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getRowCount() {
|
|
||||||
return data.size();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Object getValueAt(int pRow, int pCol) {
|
|
||||||
switch(pCol){
|
|
||||||
case 0:
|
|
||||||
return String.valueOf(data.get(pRow).getId());
|
|
||||||
|
|
||||||
case 1:
|
|
||||||
return data.get(pRow).getName();
|
|
||||||
|
|
||||||
case 2:
|
|
||||||
return data.get(pRow).getDescription();
|
|
||||||
|
|
||||||
default:
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean isCellEditable(int row, int col){
|
|
||||||
if (col > 2) return true;
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Implement!
|
|
||||||
private void updateTable(){
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getArticleId(int pRow){
|
|
||||||
return data.get(pRow).getId();
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getArticleName(int pRow){
|
|
||||||
return data.get(pRow).getName();
|
|
||||||
}
|
|
||||||
|
|
||||||
public String getArticleDescription(int pRow){
|
|
||||||
return data.get(pRow).getDescription();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
@@ -7,7 +7,7 @@ import javax.swing.table.AbstractTableModel;
|
|||||||
import de.katho.kBorrow.data.KUser;
|
import de.katho.kBorrow.data.KUser;
|
||||||
import de.katho.kBorrow.db.DbConnector;
|
import de.katho.kBorrow.db.DbConnector;
|
||||||
|
|
||||||
public class UserTableModel extends AbstractTableModel {
|
public class UserModel extends AbstractTableModel {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@@ -17,7 +17,7 @@ public class UserTableModel extends AbstractTableModel {
|
|||||||
private String[] header = {"ID", "Vorname", "Nachname", "", ""};
|
private String[] header = {"ID", "Vorname", "Nachname", "", ""};
|
||||||
private ArrayList<KUser> data = new ArrayList<KUser>();
|
private ArrayList<KUser> data = new ArrayList<KUser>();
|
||||||
|
|
||||||
public UserTableModel(DbConnector pDbCon){
|
public UserModel(DbConnector pDbCon){
|
||||||
this.dbCon = pDbCon;
|
this.dbCon = pDbCon;
|
||||||
this.updateTable();
|
this.updateTable();
|
||||||
}
|
}
|
||||||
@@ -76,50 +76,33 @@ public class UserTableModel extends AbstractTableModel {
|
|||||||
return this.data.get(row).getSurname();
|
return this.data.get(row).getSurname();
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean deleteUser(int id){
|
|
||||||
if(dbCon.deleteUser(id)){
|
|
||||||
int row = this.getRowFromId(id);
|
|
||||||
this.data.remove(row);
|
|
||||||
this.fireTableRowsDeleted(row, row);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int createUser(String pName, String pSurname){
|
|
||||||
int status = this.dbCon.createUser(pName, pSurname);
|
|
||||||
|
|
||||||
updateTable();
|
|
||||||
|
|
||||||
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
|
* @param pId
|
||||||
* @return Returns -1 if there is no row for the given id.
|
* @return Returns -1 if there is no row for the given id.
|
||||||
*/
|
*/
|
||||||
private int getRowFromId(int pId){
|
public int getRowFromId(int pId){
|
||||||
for(KUser elem : this.data){
|
for(KUser elem : this.data){
|
||||||
if(elem.getId() == pId) return data.indexOf(elem);
|
if(elem.getId() == pId) return data.indexOf(elem);
|
||||||
}
|
}
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public KUser getUserByRow(int pRow){
|
||||||
|
return this.data.get(pRow);
|
||||||
|
}
|
||||||
|
|
||||||
|
public KUser getUserById(int pId){
|
||||||
|
for(KUser elem : this.data){
|
||||||
|
if(elem.getId() == pId) return elem;
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void removeRow(int pRow){
|
||||||
|
data.remove(pRow);
|
||||||
|
fireTableRowsDeleted(pRow, pRow);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user