From ccd7960a2d8af8b1b7aadb5e706e27b04dd3a918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paul=20K=C3=B6ster?= Date: Sun, 19 Mar 2023 13:04:48 +0100 Subject: [PATCH] start --- .../IDB-Hue-Projekt/Hinzufügen.class | Bin 5832 -> 6161 bytes out/production/IDB-Hue-Projekt/Löschen.class | Bin 2534 -> 2668 bytes src/Datail.java | 8 +- src/Einzelansicht.java | 181 ++++++++++-------- src/Hinzufügen.java | 28 ++- src/Löschen.java | 12 +- src/Menü.java | 5 +- src/Suchen.java | 23 +-- 8 files changed, 156 insertions(+), 101 deletions(-) diff --git a/out/production/IDB-Hue-Projekt/Hinzufügen.class b/out/production/IDB-Hue-Projekt/Hinzufügen.class index 12b135b4714d2cb2588a3abe5f3e026ec474b584..f02c6ec32bf187b6ba213365a84cbc9f96b787b4 100644 GIT binary patch delta 2092 zcmZ`)YgANK6#n)M_uhG27#IZ_L>NtEKyXkLWzaO=nU55+w3T_4S%6FfGNXvqnlkH0 zR$|x8C`-{qO-+0t(pvb#a#gDrnOSDpi>$QFuq-ucpF3*#qaSzAKIiPS_jk_zzB6y- zuFA8$bEUNnzzFg++0IM(Hmtyt3Z7E&G%5)33$(?WH=qSey~W|`@?a@J4)}wm;W8&o zs8g{D&*&C8)zsIc-zvHELQ7o1YJz=~KNLQ+DO_Ia4=PwgNEUgPctbUu!aH$lRk*w| zc!w7B+wd&bs(2ptdWAA0)`}OgPQgnmUdDR8R?fFKV55RfDqg{6eZTBZA;frY%bMwg z8Ffy?V5@+zjWE=scd0$~Nm3kRP+d+)*y@BVjDoE;G~hLnq)0!ixRq7dOPCnlVT*N& zU3&^GvngW5dw5^L2P!^9J0W&#d2p$pPai6uUlt}%HKF??<4Qsc1K#QW(4s)N*dH#k zL&FgjALA(F3uqyZHG8sVi|J!3J{319m-@rgD{E|A;kb&=v6)~Ag|%RbRvotB3qp@E z+IV-F7Iyo?HCo6W6eZoI{)&KBRmBk}3CcKsS-@Z2OI+I5D!#$DgoIF8WzA%ND5RD8 z$CPV&L8}syVF9BS@7sL4UR0W_9VEwp6;J$J>*obA)t{ zKG~kCPq3ddQLH{d)g08#M%^h83p!R5N)A4vBi$V4+l%;*3$67^SOZBC|uL zUN-7YH!IYKyFwZIk=QpVQ*VnKl%K^HK<+7v0s#y4BbbORl*@NTnUrY}i6!CXSZDy> z91%PDdRLs63Usd{J7y>$P49|L(;sj+&EG-M*E&W>--B>!&k4t2^8UaCZbg5#qT32o zSdaiKl3+tB?C8xi9>iiO5-|!%dV4~8B!el@7n_lZZM@ckEF3~MH>V%kk%JE8;y3gs zz)Ok9qh1(59tcl^QWg~!b0n-SgxxLBmZ`xAe$V1#!OmsmBI5dn%Ib#Yyr z0*eAo!3qU`6On>0;{BIUdr<_;f^vDO*DsD2-eCe>S79{M5#vuF0qX%S&xl5iPFGkJl>2a>fxvCy@*Ye zV&)z|m5F=4l3T8uh?8dtX@DbrI!})|| zHMa$yHKLDCA?FF_m*y6H6+K?`s0IQ>AZX&&Sebukv5WGkf+-wfo`?q4vp9f}ygHht zG!|(X2Oq|>d?v7+h#9yY3o!*Xm>OYjPhM4V;cmRitU1ZlK7;!>^}S5oIn1Y# zOe>A-n8%8mPZ=noTyAI{%4s+ju#zfh8Ul1Df;0z}RDnedr;4hukZMuQgbC4O2-8X| zzOE!6MpFzTLLuj1BZ*}8%(!AGN#c|lq>u#)Cr)9FwXAzE2e5`&&gHa?2XO5!Ukfc-K*TbFS^U4-3~mpfI#F1sP0 z02G#w5S0)ZsfNtj3=z3m0Q`tX1%ToFD?}t^H{B32XV`%>2;c{XXfO?-Lb(0` DNFBuE delta 1685 zcmYk6eUyx47{;%AX5No^=bfD~YjzA{cM^8(hxM^Ovaw60Q2r?G37s-nA}t5SaZYCx z$0_uoMn{uJ?X^@3X4U z8)eR0=Ua9GsFEJroKuDqgAXfQti*k)ubEOytjf-QtcW3?gMk%6JOpK7wTp-GhzeW% zLu>Gug|#joN2MBLr9%$Z;YkZmxu{n`Gwqsa(0b1ZdKRhSMpA9H+>SP$6@*6A&YQn` z{rnlzYwIjDs(Z|oy#dd;cpfjPP3E{f2WzldD{m15ibnOSiNQjHI%uV>mDnyAU8MFq z2~}_R)S}H-*ki?SVV_##bn9wNo13|3(My%m{B*qeDp{?Td8(Br&Uuh znIrJe&rB8=vlrCW&Q<$E`SP7Q5lR?`1O-K^)J>^E_m~gAt7teA!FdO50!zddpZJ>> zhy7BH;}Jtl2ew!){_sXYJ#t+9h@T>+xQ>J+$C3!!AW_wn^Lk;7?<0j$XiGSE*9jg4$*uyAsP$44V#Df z4&DXS>}Zv-AA$qT&Cxwl{vHc0=*^hR?gin(K?j78$1H^~x*-Qeh+r^hMj)X!#tO3C z(SRPxLhNLHH+o?oig5rXXhkW0MVSD-B@X&QA1Oj#wxXX5LVu}5g;b-LjKm+C4LWM_2t z6_P|9zIvJtQlTm^(1;sd8gP&?Ftr{P z#l_o^DvcZcb{JUJg5@d|Pjr@*m}RY6B`GbTopHWU{l;&i(F5<1uts7R3pqrbZSIoi1{k+8lN;@ z#*){T8q(NS!bOxU;66Ibr(dRJdP;k5K@%{=`^@H!VlvlFNhLy6e4Rj74&mQNGFfoZ}@itn3`Fm9y}Tu&_0BRwG*ji^ytDJ!a2% zaaTL3#Ekb-J7#PIZyw$jixO^Dx7YE|ETHf7|4=n9I3|=Hs(jnCeAf~P_*F;;FXnnN?!|-`lV0rN#ja8S??w_yOE>9`glqST!ap8X^}_5y2vY1u7S7i*31ht#|Q) z#+-#=W8%VKVq$_Cp_<4-;=+}Gz%48O02^`Ig)wn6mv?5~d1sc3RyNu{et-T7?C05> zz2MDQqsi#_aAGW_@K#oJ`Dvgfz)@Ni=3q44mYB#F8f~gM9^eFR3M-Y4#0MhDw8B@} zSk;jmY7cOVCIRBn$+VveIs=@>R2coSL@KK3QWT9u#v?VcNPMuSeJGiji1fw$QJXN` z0nXCndVIUpId`wGRQ0*dzU}@90|5+r6s_(7@8%EFzIvrDyFZO$b=6%qjs$Po+~T(8 zPJmkOy8Fx}b>CIGPffW4dY5|aKG)U0X~j18mAT2ynA-iN%L}6@&VyPJZcARVaDxeYRJq`_@0AVniUHio5jgzClxaU|0y`ecd8vDONU~XvXGerO8x?YkakQ*f8vZ| zF3z$(WPBkKc8q!Y7w7O&$rLZ-?w7pgjrc8mWS(BU83sjA6C1?(@v#n@ASJAqmI4_o zlsk*57bJ|s0Hq|Qa-FS0SSFMOLR2nPWn|gGH<=g`rf%V>rITSsFlD-dLmWm+^$8b< z$s4k==OS@3M(!UZ7!{w3F3Eb8kCLSDM4|q_CyexltyStg^_pJ4&|ec$k6d;`d{Cl{$heoc4|ph;E%_tS H{}ksB^0-{`v3;IK+b$ z?_G4KRVz2@ifH$qVvJo3_?*B|*kjeH*|O%OB56V^>3QTh?Q@2_8L;-LA+u<8suA{4B>0kMCu>mXLR5M`VFT7XLXrG#{S4~A+Xl!p!lD>^6 zJY`TOqmp!xgwz-o8}Qgjinx4{5LKHjznN^4Bn7sLNlI)IBJL1*3PU^3NpoK0qayB; z=K>dT$kN3Tj-th6oJ)jqlo9h1V}j&3E>o7ij>aWUwNQmCL|SNqNm(w%W3IBF1&gZC zS)4V=cQl^nnkJ)}Qd<6~l-!yutN)(}-x|8ViDWf{F)^JMrwB95N{ { this.dispose(); @@ -68,7 +70,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL i3 = new JMenuItem("Vorheriger Datensatz"); i3.addActionListener(this); - i3.setActionCommand("zur"); + i3.setActionCommand("rück"); i4 = new JMenuItem("Suchen"); i4.addActionListener(e -> { @@ -90,6 +92,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL i7.addActionListener(this); i7.setActionCommand("lösch"); + //Menüitems an Menüs binden dat.add(i1); bew.add(i2); bew.add(i3); @@ -103,19 +106,8 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL this.setJMenuBar(bar); - try (Connection conn = DriverManager.getConnection(url, "root", "")) { - Statement s = conn.createStatement(); - sql = "Select * From " + tab; - r = s.executeQuery(sql); - rm = r.getMetaData(); - r.first(); - einfügen(r); - - } catch (SQLException e) { - throw new RuntimeException(e); - } - - vor = new JButton("Weiter"); + //Buttons + vor = new JButton("Vorwärts"); vor.setBounds(350, 150, 90, 50); vor.setFont(font); vor.setBackground(Color.white); @@ -124,23 +116,17 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL vor.setActionCommand("vor"); this.add(vor); - zur = new JButton("Letzte"); + zur = new JButton("Rückwärts"); zur.setBounds(80, 150, 90, 50); zur.setFont(font); zur.setBackground(Color.white); zur.setForeground(Color.black); zur.addActionListener(this); - zur.setActionCommand("zur"); + zur.setActionCommand("rück"); this.add(zur); - - sc = new JScrollPane(Einzelansicht.table); - sc.setBounds(50, 100, 400, 50); - sc.getHorizontalScrollBar(); - this.add(sc); - a = new JButton("Zurück"); - a.setBounds(50, 30, 80, 50); + a.setBounds(50, 30, 80, 30); a.setForeground(Color.BLACK); a.setBackground(Color.white); a.setFont(font); @@ -149,7 +135,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL this.add(a); einf = new JButton("Einfügen"); - einf.setBounds(470, 50, 100, 50); + einf.setBounds(470, 20, 80, 30); einf.setForeground(Color.BLACK); einf.setBackground(Color.white); einf.setFont(font); @@ -157,9 +143,18 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL einf.setActionCommand("einf"); this.add(einf); + ch = new JButton("Ändern"); + ch.setBounds(470, 80, 80, 30); + ch.setFont(font); + ch.setBackground(Color.white); + ch.setForeground(Color.black); + ch.addActionListener(this); + ch.setActionCommand("änd"); + this.add(ch); + del = new JButton("Löschen"); - del.setBounds(470, 120, 100, 50); + del.setBounds(470, 140, 80, 30); del.setForeground(Color.BLACK); del.setBackground(Color.white); del.setFont(font); @@ -167,6 +162,26 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL del.setActionCommand("lösch"); this.add(del); + sz = new JButton("Zurücksetzen"); + sz.setBounds(185, 10, 105, 30); + sz.setForeground(Color.BLACK); + sz.setBackground(Color.white); + sz.setFont(font); + sz.addActionListener(e -> { + standart(1); + this.remove(sz); + this.repaint(); + }); + + + //Mastertabelle in Scrollbar + table.setCellEditor(null); + sc = new JScrollPane(Einzelansicht.table); + sc.setBounds(50, 100, 400, 50); + sc.getHorizontalScrollBar(); + this.add(sc); + + //Jlabel und JTextfield für die Suche such = new JLabel("Suchen"); such.setBounds(300, 10, 50, 20); this.add(such); @@ -176,19 +191,34 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL this.add(s); suchen(); - t.addTableModelListener(this); - - + //Detailtabelle in Scrollpane detail.setAutoCreateRowSorter(true); dsc = new JScrollPane(detail); dsc.setBounds(20, 250, 550, 400); dsc.getHorizontalScrollBar(); this.add(dsc); + standart(1); } + public static void standart(int row) { + //Alle Datensätze in das Resultset und an bestimmter Position anzeigen + try (Connection conn = DriverManager.getConnection(url, "root", "")) { + Statement s = conn.createStatement(); + sql = "Select * From " + tab; + r = s.executeQuery(sql); + rm = r.getMetaData(); + r.absolute(row); + einfügen(r); + + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + public static void einfügen(ResultSet r) { + //Datensatz an bestimmter Position des Resultsets in die Tabele einfügen String[][] temp = {{""}}; try { @@ -209,6 +239,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL t.addRow(rows); t.fireTableDataChanged(); + //Methode für die Detailtabelle vid = r.getInt(1); detailtab(vid); @@ -220,7 +251,7 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL } public void suchen() { - + //Bei dem bestätigen der Suchanfrage mit Enter wird die Suche gestartet und die ergebnisse als Resultset angezeigt s.addKeyListener(new KeyListener() { @Override public void keyTyped(KeyEvent e) { @@ -228,6 +259,8 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL r = Suchen.search(s.getText(), r); s.setText(""); einfügen(r); + Einzelansicht.this.add(sz); + Einzelansicht.this.repaint(); } } @@ -243,47 +276,12 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL }); } - @Override - public void tableChanged(TableModelEvent e) { - int zeile = table.getSelectedRow(); - int spalte = table.getSelectedColumn(); - if (spalte > 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(); - } - - } - - } @Override public void actionPerformed(ActionEvent e) { String command = e.getActionCommand(); + + //Aktionen des Menüs und der Buttons switch (command) { case "vor": try { @@ -295,27 +293,52 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL throw new RuntimeException(ex); } break; - case "zur": + case "rück": try { if (r.previous()) { einfügen(r); - vid = r.getInt("V_ID"); } } catch (SQLException ex) { throw new RuntimeException(ex); } break; case "einf": + //Ein Objekt der Klasse Hinzufügen wird erzeugt und ein Modaler Dialog wird angezeigt Hinzufügen d = new Hinzufügen(r, tab, this, true); d.setVisible(true); break; case "änd": + int spalte = table.getSelectedColumn(); + //ist die ausgewählte Spalte > 0 dann wird der Datensatz nach bestätigung geändert + if (spalte > 0) { + try (Connection conn = DriverManager.getConnection(url, "root", "")) { + Statement s = conn.createStatement(); + String eingabe = JOptionPane.showInputDialog(t.getColumnName(spalte), r.getString(spalte + 1)); + if (eingabe != null) { + System.out.println("test"); + ResultSet ra = s.executeQuery("Update " + tab + " set " + t.getColumnName(spalte) + "= '" + eingabe + "' WHERE " + t.getColumnName(0) + " = " + r.getString(1)); + standart(r.getRow()); + } + table.clearSelection(); + } catch (SQLException f) { + JOptionPane.showMessageDialog(null, "Da hat etwas nicht geklappt", "Fehler!", JOptionPane.ERROR_MESSAGE); + table.clearSelection(); + throw new RuntimeException(f); + } + t.fireTableDataChanged(); + } else { + JOptionPane.showMessageDialog(null, "Wählen Sie bitte eine Zelle der Tabelle aus. \n Die " + t.getColumnName(0) + " ist nicht veränderbar."); + table.clearSelection(); + } + break; case "lösch": - Löschen l = new Löschen(tab,t,table); + //Ein Objekt der Klasse Löschen wird erzeugt + Löschen l = new Löschen(tab, t, table); break; case "close": + //Die Einzelansicht schließt sich und man kehr tins Hauptmenü zurück this.dispose(); Menü m = new Menü(); m.setVisible(true); @@ -326,10 +349,10 @@ public class Einzelansicht extends JFrame implements TableModelListener, ActionL } public static void detailtab(int vid) { + //Tabelmodel wird an die Methode weitergegeben und für die ansicht der Spieler verändert Datail.detailmodel(dtm, vid, url); dtm.fireTableDataChanged(); - System.out.println("detail =" + vid); diff --git a/src/Hinzufügen.java b/src/Hinzufügen.java index c45d9e2..04b467a 100644 --- a/src/Hinzufügen.java +++ b/src/Hinzufügen.java @@ -3,10 +3,7 @@ import java.awt.*; import java.awt.event.*; import java.sql.*; -import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; - public class Hinzufügen extends Dialog implements ActionListener { - JFrame frame; JButton a = null; ResultSetMetaData rm = null; JButton einf = null; @@ -17,12 +14,14 @@ public class Hinzufügen extends Dialog implements ActionListener { public Hinzufügen(ResultSet r, String tab, JFrame owner, boolean modal) { + //Ein Modaler Dialog braucht einen Owner, in dme Fall der Frame super(owner, modal); - + //Framesettings this.setSize(500, 600); this.setLayout(null); + //Button um den Vorgang abzubrechen a = new JButton("Zurück"); a.setBounds(50, 30, 80, 50); a.setFont(font); @@ -33,6 +32,7 @@ public class Hinzufügen extends Dialog implements ActionListener { }); this.add(a); + //Es wird für jede Spalte der Tabelle ein Textfeld und ein Bezeichner (JLabel) erzeugt try { rm = r.getMetaData(); int x = 10; @@ -53,29 +53,38 @@ public class Hinzufügen extends Dialog implements ActionListener { y = 300; } } + //Der Button zum Bestätigen der Eingabe 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 -> { + //Erst wird jedes Textfeld durchgegangen und unterschieden, ob die eingabe Null ist oder nicht for (int i = 1; i < z; i++) { try { + //Ist die letze Spalte bzw Textfeld erreicht dann wird Folgendes ausgeführt if (i == z - 1) { + //Wenn ein Textfeld Null ist, dann wird der User gefragt, ob er dies so übernehmen möchte if (b[i].getText().length() == 0) { int response = JOptionPane.showConfirmDialog(null, "Soll der Wert für " + rm.getColumnName(i + 1) + " 'NULL' übernommen werden?", "Bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); System.out.println(response); if (response == 0) { + //Der Wert Null wird übernommen spalten = spalten + " Null"; sname = sname + rm.getColumnName(i + 1); } else { - einf.setAction(null); + //Der Wert Null wird nicht übernommen + spalten =""; + sname=""; } } else { + //Um dem SQL-Syntax gerecht zu werden hat der letzte Wert kein ',' spalten = spalten + "'" + b[i].getText() + "'"; sname = sname + rm.getColumnName(i + 1); } } else { + //Liefert das Textfeld Text bzw Werte, dann werden Strings gefült spalten = spalten + "'" + b[i].getText() + "',"; sname = sname + rm.getColumnName(i + 1) + ","; } @@ -90,12 +99,20 @@ public class Hinzufügen extends Dialog implements ActionListener { String sql = "Insert into " + tab + "(" + sname + ") Values (" + spalten + ")"; System.out.println(sql); Connection conn = null; + + //Der Eintrag wird in die Datenbank eingefügt try { conn = DriverManager.getConnection(url, "root", ""); Statement s = conn.createStatement(); ResultSet a = s.executeQuery(sql); this.dispose(); + //Der eingefügte Datensatz wird angezeigt + Einzelansicht.r.last(); + Einzelansicht.standart(Einzelansicht.r.getRow() + 1); } catch (SQLException ex) { + JOptionPane.showMessageDialog(null, "Da hat etwas nicht geklappt", "Fehler!", JOptionPane.ERROR_MESSAGE); + sname = ""; + spalten = ""; throw new RuntimeException(ex); } }); @@ -103,6 +120,7 @@ public class Hinzufügen extends Dialog implements ActionListener { } catch (SQLException e) { throw new RuntimeException(e); + } } diff --git a/src/Löschen.java b/src/Löschen.java index c8d33b1..c4c8698 100644 --- a/src/Löschen.java +++ b/src/Löschen.java @@ -10,15 +10,25 @@ public class Löschen { public Löschen(String tab, DefaultTableModel model, JTable table) { + //Bestätigung des Users int response = JOptionPane.showConfirmDialog(null, "Wollen Sie dein Eintrag löschen?", "Bestätigen", JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE); if (response == 0) { try (Connection conn = DriverManager.getConnection(url, "root", "")) { Statement s = conn.createStatement(); + + //Backup erstellen und Datensatz löschen //SELECT *, CURRENT_TIMESTAMP FROM spiel WHERE spiel.Heim =1 or spiel.Gast =1 AND spiel.Spiel_ID NOT IN (SELECT b.Spiel_ID FROM bundesliga_archiv.spiel as b); ResultSet r = s.executeQuery("INSERT into bundesliga_archiv.verein SELECT * ,CURRENT_TIMESTAMP FROM `verein` WHERE V_ID = " + Einzelansicht.vid); r = s.executeQuery("DELETE From " + tab + " WHERE " + model.getColumnName(0) + "=" + Einzelansicht.vid); - Einzelansicht.r.next(); + //In den vorherigen oder nächsten Datensatz wechseln + if (Einzelansicht.r.previous()) { + Einzelansicht.standart(Einzelansicht.r.getRow()); + } else if (Einzelansicht.r.next()) { + Einzelansicht.standart(Einzelansicht.r.getRow()); + } + + } catch (SQLException e) { throw new RuntimeException(e); } diff --git a/src/Menü.java b/src/Menü.java index 31bd23a..43d0514 100644 --- a/src/Menü.java +++ b/src/Menü.java @@ -10,6 +10,7 @@ public class Menü extends JFrame implements ActionListener { JList list = null; String url = "jdbc:mariadb://127.0.0.1:3306/bundesliga"; String table = null; + public static void main(String[] args) { Menü m = new Menü(); m.setVisible(true); @@ -25,7 +26,7 @@ public class Menü extends JFrame implements ActionListener { JLabel lbl = new JLabel(""); ImageIcon img = new ImageIcon(new ImageIcon(Menü.class.getResource("/image/Bundesiga.jfif")).getImage()); lbl.setIcon(img); - lbl.setBounds(150, 50, 200,202); + lbl.setBounds(150, 50, 200, 202); this.getContentPane().add(lbl); this.add(lbl); @@ -69,7 +70,7 @@ public class Menü extends JFrame implements ActionListener { DefaultListModel liste = new DefaultListModel(); list = new JList(liste); list.addListSelectionListener(e -> { - if (list.getSelectedValue().toString().equalsIgnoreCase("Verein") || list.getSelectedValue().toString().equalsIgnoreCase("spieler")) { + if (list.getSelectedValue().toString().equalsIgnoreCase("Verein")) { this.add(v); } else diff --git a/src/Suchen.java b/src/Suchen.java index fee6ee6..9d67ccb 100644 --- a/src/Suchen.java +++ b/src/Suchen.java @@ -15,8 +15,6 @@ public class Suchen { static JList list; static JScrollPane sc; static int index = 0; - static boolean auswahl = false; - static boolean fertig = false; public static ResultSet search(String st, ResultSet rs) { @@ -48,14 +46,17 @@ public class Suchen { liste.addElement(r.getString("Name")); } r.first(); - frame = new JFrame("Suchergebnis"); - frame.setSize(300, 300); - frame.setVisible(true); + System.out.println(liste.getSize()); + if (liste.getSize() > 1) { + frame = new JFrame("Suchergebnis"); + frame.setSize(300, 300); + frame.setVisible(true); - sc = new JScrollPane(); - sc.setViewportView(list); - sc.setBounds(30, 100, 150, 200); - frame.add(sc); + sc = new JScrollPane(); + sc.setViewportView(list); + sc.setBounds(30, 100, 150, 200); + frame.add(sc); + } //Auswahl durch Doppelklick list.addMouseListener(new MouseAdapter() { @@ -73,7 +74,8 @@ public class Suchen { System.out.println("index =" + index); Einzelansicht.einfügen(r); Einzelansicht.r = r; - auswahl = true; + + } catch (SQLException ex) { throw new RuntimeException(ex); } @@ -83,7 +85,6 @@ public class Suchen { }); - System.out.println(auswahl); return r; } else { throw new Exception();