![]() |
|
|
|||||||
| Datenbankprogrammierung Fragen zur Anbindung und Programmierung von Datenbanken bzw. Datenbankabfragen |
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |||
|
Neuer Benutzer
Byte
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo Leute!
Mein Problem ist folgendes: Ich habe eine Datenbank, logischerweise sind da Tabellen drin. Nun ist die Aufgabe, eine dieser Tabellen auszugeben in einem neuen Fenster, und zwar mit Swing oder AWT. Ich verwende NetBeans. Muss ich eine komplett neue main-funktion anlegen, wo das neue Fenster aufgerufen wird? Ich hab auch versucht, in den vorhandenen Quellcode das Fenster manuell zu erstellen, aber dort komme ich dann nicht weiter, wie ich das Fenster mit der Tabelle bzw. den Datenbankdaten füllen könnte. Ich muss also auf einen Button klicken und mit Klick soll sich das neue Fenster öffnen. Wie geh ichs an? Mein aktueller Stand der Dinge:
So, damit wird das neue Fenster aufgerufen. Wie krieg ich dort die Tabelle rein? Danke für Eure Hilfe! |
||
|
|
|
| #2 (permalink) | |
|
Benutzer
Byte
Registriert seit: 08.02.2008
Beiträge: 54
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hallo,
wenn du ein neues Fenster haben willst dann erstelle eine neue Klasse mit JFrame ohne main Methode, die du dann aus dem Hauptprogramm mit new MeineTabelle(); aufrufst. Für die Daten aus der Datenbank kannst du dann ein JTable nehmen.
__________________
http://www.webcam-whiteboard.com |
|
|
|
| #3 (permalink) | |
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hi kowa, danke für deine Antwort.
Das hab ich jetzt selbst auch so hinbekommen, irgendwie hab ich ganz vergessen, dass ich hier gefragt habe ![]() Jedenfalls öffnet das Fenster und die Tabelle ist auch drin. Nun steh ich vorm größten Problem: die Daten in die Tabelle zu kriegen. Ich hab was von einem TableModel gelesen...und übrigens das Tutorial von Sun über Tabellen hab ich auch bestimmt schon 30x gelesen aber ich werd daraus nicht schlau. Soweit ich weiss MUSS ich ein TableModel anlegen, okay das verstehe ich noch. Und was mach ich dann damit? Wie krieg ich die Daten in die Tabelle? Ich hab jetzt für das TableModel auch eine neue Klasse angelegt, ohne main-Funktion. |
|
|
|
| #4 (permalink) | |||||
|
Benutzer
Byte
Registriert seit: 08.02.2008
Beiträge: 54
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Hier ist ein Beispiel.
Du brauchst kein TableModel. Einfach ein String Array (wie im Beispiel) mit den Überschriften erstellen, dann ein Zwei-dimensionales Object-Array mit den Daten pro Reihe. Also so die Überschriften:
Und so die Daten:
Das ganze dann einem JTable als Parameter übergeben, wie im Beispiel
__________________
http://www.webcam-whiteboard.com |
||||
|
|
|
| #5 (permalink) | |||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
super, das hat funktioniert, danke
![]() hatte jetz noch eine Frage, die sich aber mehr oder weniger von seblst gelöst hat,...aber glaubt mir, es kommen sicherlihc weitere ![]() so..jetzt: neues Objekt meiner Tabelle anlegen: Hab ich in meinen Frame gemacht wo vorher dies stand:
Bekomme jetzt einen Haufen Fehler, bzw Nullpointer Exceptions. Überhaupt hab ich gar keinen Plan was ich heir eigetnlich mache. Geändert von schneffi (22.06.2009 um 11:47 Uhr) |
||
|
|
|
| #6 (permalink) | |||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
die NullpointerExceptions sind jetzt irgendwie weg, dennoch bekomme ich einen Fehler wegen einer fehlenden Variablen, die aber vorher da war. Könntet ihr bitte mal drüber schaun? Es ist alles ein wenig verworren, aber ich denke mal es ist so wie immer, dass es irgendwo ein Mini-Fehler ist den ich net finde.
Hauptklasse wo alles abläuft:
Hauptprogramm:
In diese Klasse soll die Tabelle rein, daher hab ich sie schon reinkopiert. Allerdings findet er die Variable rowData nicht.
|
||||||
|
|
|
| #7 (permalink) | |||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
MyTable.java
GUI für die Tabelle (showTableFrame.java)
Haupt-GUI
mein Anliegen: die Tabellenstruktur soll in die Klasse MyTable.java Frage: Wie verknüpfe ich die Abfragen mit Tabellenstruktur und GUI? Ist der Aufbau so okay oder sollte ich lieber nochmal umstrukturieren? Es wäre echt nett wenn ihr mir ein paar Tipps geben könntet, ich bin eigentlich absoluter Java-Neuling und muss mich möglichst schnell in die Thematik reinarbeiten, leider ist der Java-Guru in meiner Firma zur Zeit nicht da und irgendwie muss ich mich da durchquälen
|
||||||
|
|
|
| #8 (permalink) | |||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
so, ich bin jetzt schon ein ganzes Stückchen weiter gekommen (und mittlerweile weiss ich auch, was ich da gemacht habe
)Ich hoffe es liest noch jemand mit? Jedenfalls kommen jetz NullPointerExceptions und so richtig weiß ich jetzt wirklich nicht weiter. Ich habe mein Programm in mehrere Klassen aufgeteilt: ein Hauptprogramm (Aufruf des GUI) eine GUI-Klasse (GUI-Befehle und Aufruf von Methoden durch ActionPerformed etc.) eine Datenbank-Klasse (Die DB auslesen) eine Tabellenklasse (Verbindung zur DB herstellen und die Tabellenstruktur festlegen)
Die Exception tritt in der MyTable.java genau hier auf: nämlich wenn ich das ResultSet durchlaufen will. Ich muss logischerweise erst ein MyDB-Objekt erzeugen, ehe ich das ResultSet durchlaufen kann. Das hab ich auch versucht, hat allerdings nicht funktioniert. Es kam nach wie vor die NullPointerException. Mir kommt es so vor, dass das ResultSet leer ist und er deswegen die Exception bringt. Liegt es an der Reihenfolge? Hab ich hier wieder einen dummen Denkfehler? Ich denke mal was großes kann es nicht sein.
Es wäre schön wenn sich jemand erbarmen könnte dieses Thema weiter zu verfolgen
Geändert von schneffi (25.06.2009 um 11:02 Uhr) |
||||
|
|
|
| #9 (permalink) | |
|
Stammbenutzer
Viertel Gigabyte
Registriert seit: 17.02.2009
Beiträge: 2.608
Abgegebene Danke: 2
Erhielt 258 Danke für 258 Beiträge
|
Der Code ist ja nicht gerade einfach zu lesen. Soweit ich das sehe ist das ResultSet nicht leer (das würde nichts ausmachen) sondern es ist null, deswegen auch die Exception. ich sehe nirgends den Aufruf der Methode readDB() in dem der ResultSet initialisiert wird.
Wieso erzeugst Du eigentlich ein Objekt von MyDB, wenn Du sowie so nur statische Variablen und Methoden hast bzw. warum machst Du da alles statisch? |
|
|
|
| #10 (permalink) | |||||||||||||||||||||||||||||||||||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Aufruf der Methode readDB() hab ich jetzt hier eingefügt (hab nochmal ne neue Methode showTable() geschrieben in der Hoffnung es liegt daran, also nicht wundern.
Weil du meintest mein code wäre schwer zu lesen: ist er unübersichtlich? Kann man in der Hinsicht was verbessern? So bewandert bin ich doch in der Materie nun auch noch nicht..was die ganze Softwareentwicklung angeht.
|
||||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||||
| #11 (permalink) | |||||||||||||||||||||||||||||||||||||
|
Stammbenutzer
Viertel Gigabyte
Registriert seit: 17.02.2009
Beiträge: 2.608
Abgegebene Danke: 2
Erhielt 258 Danke für 258 Beiträge
|
Die Datenbank-Klasse kümmert sich um den Verbindungsaufbau/abbau und die Aufbereitung der Daten Der Frame enthält die Table und deren Model und sagt der Datenbank-Klasse verbinde Dich zur Datenbank, gibt mir die Spaltennamen, gibt mir den Datensatz, beende die Verbindung |
||||||||||||||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||||||||||||||
| #12 (permalink) | |||||||||||||||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Trotzdem ist da das Problem mit der Exception noch nicht geklärt
|
||||||||||||||||||
|
|
|
||||||||||||||||||
| #14 (permalink) | |||||||||||||||||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
tritt auf in Zeile 6 in der MyTable.java:
Die Exception: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException java.lang.NullPointerException at idics_db_viewv3.MyTable.showTable(MyTable.java:32) at idics_db_viewv3.Idics_db_viewV3View.jButton3ActionPerformed(Idics_db_viewV3View.java:236) at idics_db_viewv3.Idics_db_viewV3View.access$1000(Idics_db_viewV3View.java:22) at idics_db_viewv3.Idics_db_viewV3View$6.actionPerformed(Idics_db_viewV3View.java:141) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:6134) at javax.swing.JComponent.processMouseEvent(JComponent.java:3265) at java.awt.Component.processEvent(Component.java:5899) at java.awt.Container.processEvent(Container.java:2023) at java.awt.Component.dispatchEventImpl(Component.java:4501) at java.awt.Container.dispatchEventImpl(Container.java:2081) at java.awt.Component.dispatchEvent(Component.java:4331) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4301) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3965) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3895) at java.awt.Container.dispatchEventImpl(Container.java:2067) at java.awt.Window.dispatchEventImpl(Window.java:2458) at java.awt.Component.dispatchEvent(Component.java:4331) at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) |
||||||||||||||||||||
|
|
|
||||||||||||||||||||
| #16 (permalink) | |||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
beim ersten kommt: false
beim zweiten kommt: null hiernochmal der vollständige Code:
|
||||
|
|
|
| #17 (permalink) | |||||||||||||||||||||
|
Stammbenutzer
Viertel Gigabyte
Registriert seit: 17.02.2009
Beiträge: 2.608
Abgegebene Danke: 2
Erhielt 258 Danke für 258 Beiträge
|
Ist das Dein kompletter Code? Habe jetzt nirgends gefunden wo die Verbindung zur Datenbank aufgebaut wird, also den Aufruf von verbinden() |
||||||||||||||||||||
|
|
|
||||||||||||||||||||
| #18 (permalink) | |||||||||||||||||||||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
beim zweiten kommt: true demnach kann ich ja davon ausgehen, dass die Connection nicht aufgebaut ist aber das ResultSet abgerufen werden kann. Wie kann keine Verbindung bestehen? Aber hier jetzt der vollständige Code ![]()
|
||||||||||||||||||||||||
|
|
|
||||||||||||||||||||||||
| #20 (permalink) | |||||||||||||||||||
|
Neuer Benutzer
Byte
Themenstarter
Registriert seit: 30.01.2009
Beiträge: 23
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Das versteh ich nicht, vorher hat es auch funktioniert! Kann es irgendwas damit zu tun haben, wie ich die Tabelle lade? Als ich es in der Konsole ausgegeben habe, ging es! |
||||||||||||||||||
|
|
|
||||||||||||||||||
|
| Lesezeichen |
Latex Maths & Physics Editor ...
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Tabelle von einer Datenbank in eine Andere | Marie Curie | Datenbankprogrammierung | 4 | 14.01.2008 12:55 |
| Datenbank Tabelle spiegeln | PollerJava | Allgemeine Java-Themen | 22 | 30.11.2007 10:17 |
| Warnkorb + Tabelle + Datenbank | Tobias Köhler | AWT, Swing & SWT | 3 | 15.08.2007 08:22 |
| XML-Spalte aus einer Datenbank ausgeben lassen | Pareidolie | Datenbankprogrammierung | 0 | 08.03.2007 11:45 |
| Tabelle in datenbank einfügen | ttt | Datenbankprogrammierung | 2 | 08.02.2006 16:17 |