diff --git a/out/production/IDB-Hue-Projekt/Hinzufügen.class b/out/production/IDB-Hue-Projekt/Hinzufügen.class index 76ae37b..cf514d0 100644 Binary files a/out/production/IDB-Hue-Projekt/Hinzufügen.class and b/out/production/IDB-Hue-Projekt/Hinzufügen.class differ diff --git a/out/production/IDB-Hue-Projekt/Menu.class b/out/production/IDB-Hue-Projekt/Menu.class index 6c30df7..96b8a12 100644 Binary files a/out/production/IDB-Hue-Projekt/Menu.class and b/out/production/IDB-Hue-Projekt/Menu.class differ diff --git a/out/production/IDB-Hue-Projekt/Tabellen.class b/out/production/IDB-Hue-Projekt/Tabellen.class index 6eb288a..f56f298 100644 Binary files a/out/production/IDB-Hue-Projekt/Tabellen.class and b/out/production/IDB-Hue-Projekt/Tabellen.class differ diff --git a/src/Hinzufügen.java b/src/Hinzufügen.java index c89eaa7..ab17097 100644 --- a/src/Hinzufügen.java +++ b/src/Hinzufügen.java @@ -1,5 +1,6 @@ import javax.swing.*; import javax.swing.table.DefaultTableModel; +import java.awt.*; import java.awt.event.*; import java.sql.*; @@ -17,6 +18,7 @@ public class Hinzufügen extends JFrame implements ActionListener { String spalten = ""; String sname = ""; + Font font = new Font("Arial",Font.PLAIN,12); public Hinzufügen(ResultSet r, String tab) { this.setSize(500, 600); @@ -26,6 +28,9 @@ public class Hinzufügen extends JFrame implements ActionListener { a = new JButton("Zurück"); a.setBounds(50, 30, 80, 50); + a.setFont(font); + a.setBackground(Color.white); + a.setForeground(Color.black); a.addActionListener(e -> { this.dispose(); }); @@ -53,6 +58,9 @@ public class Hinzufügen extends JFrame implements ActionListener { } einf = new JButton("Einfügen"); einf.setBounds(50, 480, 100, 50); + einf.setFont(font); + einf.setForeground(Color.black); + einf.setBackground(Color.white); einf.addActionListener(e -> { for (int i = 1; i < z; i++) { try { diff --git a/src/Menu.java b/src/Menu.java index 5e66547..5db2b41 100644 --- a/src/Menu.java +++ b/src/Menu.java @@ -9,7 +9,7 @@ public class Menu extends JFrame implements ActionListener { JLabel i = null; JList list = null; - ImageIcon img = null; + ImageIcon img =new ImageIcon("Bundesliga.jpg"); String url = "jdbc:mariadb://127.0.0.1:3306/bundesliga"; @@ -23,28 +23,40 @@ public class Menu extends JFrame implements ActionListener { this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setLayout(null); this.setBackground(Color.WHITE); - + this.setIconImage(img.getImage()); a = new JButton("Anzeigen"); - a.setBounds(200, 200, 150, 70); - a.setFont(new Font("Arial",Font.PLAIN,15)); + a.setBounds(200, 200, 90, 60); + a.setFont(new Font("Arial",Font.PLAIN,12)); + a.setForeground(Color.black); + a.setBackground(Color.white); a.addActionListener(e -> { try (Connection conn = DriverManager.getConnection(url, "root", "")){ - String table = list.getSelectedValue().toString(); - Tabellen t = new Tabellen(url,table); - t.setVisible(true); - t.setTitle(list.getSelectedValue().toString()); + if (list.isSelectionEmpty()){ + JOptionPane.showMessageDialog(null,"Wählen sie eine Tabelle aus!"); + }else { + String table = list.getSelectedValue().toString(); + Tabellen t = new Tabellen(url, table); + t.setVisible(true); + t.setTitle(list.getSelectedValue().toString()); + this.dispose(); + } } catch (SQLException ex) { throw new RuntimeException(ex); } - this.dispose(); + }); this.add(a); DefaultListModel liste = new DefaultListModel(); list = new JList(liste); + list.addListSelectionListener(e->{ + if (list.getSelectedValue().toString().equalsIgnoreCase("Verein")||list.getSelectedValue().toString().equalsIgnoreCase("Spieler")){ + System.out.println(list.getSelectedValue()); + } + }); sc = new JScrollPane(); sc.setViewportView(list); sc.setBounds(30, 150, 150, 200); @@ -64,7 +76,7 @@ public class Menu extends JFrame implements ActionListener { public void paint(Graphics g) { super.paint(g); - img = new ImageIcon("src/image/Bundesliga.jpg"); + i = new JLabel(img); i.setBounds(150, 280, 200, 100); this.add(i); diff --git a/src/Tabellen.java b/src/Tabellen.java index 1f0239e..6ece466 100644 --- a/src/Tabellen.java +++ b/src/Tabellen.java @@ -1,9 +1,7 @@ import javax.swing.*; -import javax.swing.event.TableModelEvent; -import javax.swing.event.TableModelListener; -import javax.swing.table.DefaultTableModel; -import javax.swing.table.JTableHeader; -import java.awt.event.*; +import javax.swing.event.*; +import javax.swing.table.*; +import java.awt.*; import java.sql.*; public class Tabellen extends JFrame implements TableModelListener { @@ -16,23 +14,36 @@ public class Tabellen extends JFrame implements TableModelListener { static JTable table = new JTable(t); static ResultSet r = null; static String url = "jdbc:mariadb://127.0.0.1:3306/bundesliga"; + TableRowSorter sorter = null; + + JTextField s = null; + String tab = null; + + JLabel such = null; + + Font font = new Font("Arial",Font.PLAIN,12); - public Tabellen(String url, String tab) { + public Tabellen(String url, String ta) { this.setSize(500, 600); this.setDefaultCloseOperation(EXIT_ON_CLOSE); this.setLayout(null); + tab = ta; einfügen(tab); + sc = new JScrollPane(table); sc.setBounds(50, 100, 400, 350); sc.getHorizontalScrollBar(); this.add(sc); a = new JButton("Zurück"); - a.setBounds(50, 30, 80, 50); + a.setBounds(50, 30, 70, 50); + a.setForeground(Color.BLACK); + a.setBackground(Color.white); + a.setFont(font); a.addActionListener(e -> { this.dispose(); Menu m = new Menu(); @@ -42,6 +53,9 @@ public class Tabellen extends JFrame implements TableModelListener { einf = new JButton("Einfügen"); einf.setBounds(50, 480, 100, 50); + einf.setForeground(Color.BLACK); + einf.setBackground(Color.white); + einf.setFont(font); einf.addActionListener(e -> { Hinzufügen d = new Hinzufügen(r, tab); d.setVisible(true); @@ -53,6 +67,9 @@ public class Tabellen extends JFrame implements TableModelListener { del = new JButton("Löschen"); del.setBounds(180, 480, 100, 50); + del.setForeground(Color.BLACK); + del.setBackground(Color.white); + del.setFont(font); del.addActionListener(e -> { Löschen l = new Löschen(tab, t, table); table.clearSelection(); @@ -60,42 +77,17 @@ public class Tabellen extends JFrame implements TableModelListener { }); this.add(del); - t.addTableModelListener(e -> { - int zeile = table.getSelectedRow(); - int spalte = table.getSelectedColumn(); - if (spalte > 0 && zeile > 0) { - int response = 0; - try { - response = JOptionPane.showConfirmDialog(null, "Wollen Sie dein Eintrag in Zeile " + (zeile + 1) + ", Spalte :" + (rm.getColumnName(spalte + 1)) + " ändern?", "Bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); - } catch (SQLException ex) { - throw new RuntimeException(ex); - } - if (response == 0) { - try (Connection conn = DriverManager.getConnection(url, "root", "")) { - Statement s = conn.createStatement(); - System.out.println(t.getColumnName(spalte) + "\n" + rm.getColumnTypeName(spalte + 1)); - if (rm.getColumnTypeName(spalte + 1).equalsIgnoreCase("Varchar")) { - ResultSet r = s.executeQuery("Update " + tab + " set " + t.getColumnName(spalte) + "= '" + t.getValueAt(zeile, spalte).toString() + "' WHERE " + t.getColumnName(0) + " = " + t.getValueAt(zeile, 0)); + such = new JLabel("Suchen"); + such.setBounds(300, 10, 50, 20); + this.add(such); - } else if (rm.getColumnTypeName(spalte + 1).equalsIgnoreCase("Date")) { - ResultSet r = s.executeQuery("Update " + tab + " set " + t.getColumnName(spalte) + "= '" + t.getValueAt(zeile, spalte).toString() + "' WHERE " + t.getColumnName(0) + " = " + t.getValueAt(zeile, 0)); + s = new JTextField(); + s.setBounds(300, 30, 150, 40); + this.add(s); + suchen(); - } else { - ResultSet r = s.executeQuery("Update " + tab + " set " + t.getColumnName(spalte) + "= " + t.getValueAt(zeile, spalte).toString() + " WHERE " + t.getColumnName(0) + " = " + t.getValueAt(zeile, 0)); + t.addTableModelListener(this); - } - table.clearSelection(); - } catch (SQLException f) { - throw new RuntimeException(f); - } - t.fireTableDataChanged(); - } else { - table.clearSelection(); - } - - } - - }); } public static void einfügen(String tab) { @@ -133,10 +125,72 @@ public class Tabellen extends JFrame implements TableModelListener { } + public void suchen() { + sorter = new TableRowSorter(t); + table.setRowSorter(sorter); + s.getDocument().addDocumentListener(new DocumentListener() { + @Override + public void insertUpdate(DocumentEvent e) { + search(s.getText()); + } + + @Override + public void removeUpdate(DocumentEvent e) { + search(s.getText()); + } + + @Override + public void changedUpdate(DocumentEvent e) { + search(s.getText()); + } + + public void search(String st) { + if (st.length() == 0) { + sorter.setRowFilter(null); + } else { + sorter.setRowFilter(RowFilter.regexFilter(st)); + } + } + }); + } + @Override public void tableChanged(TableModelEvent e) { - System.out.println(table.getSelectedRow() + "" + table.getSelectedColumn()); + int zeile = table.getSelectedRow(); + int spalte = table.getSelectedColumn(); + if (spalte > 0 && zeile > 0) { + int response = 0; + try { + response = JOptionPane.showConfirmDialog(null, "Wollen Sie dein Eintrag in Zeile " + (zeile + 1) + ", Spalte :" + (rm.getColumnName(spalte + 1)) + " ändern?", "Bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); + } catch (SQLException ex) { + throw new RuntimeException(ex); + } + if (response == 0) { + try (Connection conn = DriverManager.getConnection(url, "root", "")) { + Statement s = conn.createStatement(); + System.out.println(t.getColumnName(spalte) + "\n" + rm.getColumnTypeName(spalte + 1)); + if (rm.getColumnTypeName(spalte + 1).equalsIgnoreCase("Varchar")) { + ResultSet r = s.executeQuery("Update " + tab + " set " + t.getColumnName(spalte) + "= '" + t.getValueAt(zeile, spalte).toString() + "' WHERE " + t.getColumnName(0) + " = " + t.getValueAt(zeile, 0)); + } else if (rm.getColumnTypeName(spalte + 1).equalsIgnoreCase("Date")) { + ResultSet r = s.executeQuery("Update " + tab + " set " + t.getColumnName(spalte) + "= '" + t.getValueAt(zeile, spalte).toString() + "' WHERE " + t.getColumnName(0) + " = " + t.getValueAt(zeile, 0)); + + } else { + ResultSet r = s.executeQuery("Update " + tab + " set " + t.getColumnName(spalte) + "= " + t.getValueAt(zeile, spalte).toString() + " WHERE " + t.getColumnName(0) + " = " + t.getValueAt(zeile, 0)); + + } + table.clearSelection(); + } catch (SQLException f) { + throw new RuntimeException(f); + } + t.fireTableDataChanged(); + } else { + table.clearSelection(); + } + + } } + } +