Moins....
ich schreibe ein Anwendung die mittels GUI auf `ne SQL- Datenbank zugreift. Ist ein Studien- Projekt. Ich hab` nun zum Beispiel folgende Funktion, die auch funktioniert:
Hier wird das Ganze über einen dropdown-Menüeintrag aktiviert. Ich habe dann zum Beispiel folgende Funktion, die ich bei Bedarf aufrufen möchte und die an einem button auf der GUI hängt:
Hier krieg ich aber immer `ne NullPointer exception! Also in jder Funktion auf der GUI. Folgende Fehlermeldung kommt dann zum Beispiel:
Das Problem ist immer folgende Zeile:
Es wird alles compiliert aber zur Laufzeit dann immer dieser Fehler. Ich weiß einfach nicht woran es liegt zumal es über das Menü ja funktioniert bei anderen Funktionen.
Ich habe auch einige Funktionen geschrieben die ich im Konstruktor aufrufe weil sofort auf der GUI einige Tabellendaten erscheinen sollen. also sowas:
Hier kommt dann auch nach Start des Programms gleich die Nullpointer Exception, die sich immer auf die connection- Zeile bezieht.
Ich hoffe die Beschreibung ist ausführlich genug und jemand kann helfen...
Also danke schonmal und gute Nacht...
Gruß Pierre
P.S. Noch was anderes:
Ich hab als Überschriften Buttons genommen. War wahrscheinlich nicht so clever... disabled kann man ja nix mehr lesen ;-) Gibt es ne Möglichkeit einen JButton zu disablen aber im Aussehen nicht zu verändern? Bzw. einfach die Schriftfarbe zu setzen?
ich schreibe ein Anwendung die mittels GUI auf `ne SQL- Datenbank zugreift. Ist ein Studien- Projekt. Ich hab` nun zum Beispiel folgende Funktion, die auch funktioniert:
Code:
void freieKaefige_actionPerformed(ActionEvent e) {
try
{
//Statement erzeugen
Statement st = connection.createStatement();
//Query ausführen
ResultSet rs = st.executeQuery("SELECT * FROM penAvailability");
// Daten einlesen und auf dem Bildschirm ausgeben
textbereich.setText(null);
int available;
available = 1;
while (rs.next())
{
if (available == 1)
{
textbereich.append("Verfügbare Käfige: "+ rs.getString("Quantity")+"\t\n");
available++;
}
else
textbereich.append( "Belegte Käfige: " + rs.getString("Quantity")+"\t\n");
}
//alle Objekte schließen
st.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
Hier wird das Ganze über einen dropdown-Menüeintrag aktiviert. Ich habe dann zum Beispiel folgende Funktion, die ich bei Bedarf aufrufen möchte und die an einem button auf der GUI hängt:
Code:
void abschicken_entlassen_actionPerformed(ActionEvent e) {
try
{
//Statement erzeugen
Statement st = connection.createStatement();
String tiernummer2 = kaefignummer_einweisung_combo1.getItemAt(kaefignummer_einweisung_combo1.getSelectedIndex()).toString();
//Query ausführen
ResultSet rs;
textbereich.setText(null);
st.execute("delete from petpen where penNo = '" + tiernummer2 + "'");
st.executeUpdate("update pen set penStatus = 'A' where penNo = (select penNo from petpen where petNo = '" + tiernummer2 + "'");
textbereich.setText("Das Tier mit der Nummer " + tiernummer2 + " wurde erfolgreich entlassen!");
//alle Objekte schließen
// st.close();
}
catch (Exception ex)
{
ex.printStackTrace();
textbereich.setText("Die Aktion konnte nicht durchgeführt werden. Bitte überprüfen Sie Ihre Verbindung zur Datenbank.");
}
}
Hier krieg ich aber immer `ne NullPointer exception! Also in jder Funktion auf der GUI. Folgende Fehlermeldung kommt dann zum Beispiel:
Code:
java.lang.NullPointerException
at fenster.abschicken_entlassen_actionPerformed(fenster.java:492)
at fenster$12.actionPerformed(fenster.java:237)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
86)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:245)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2
31)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
java.lang.NullPointerException
at fenster.abschicken_entlassen_actionPerformed(fenster.java:492)
at ActionListener.actionPerformed(fenster.java:660)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:17
86)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(Abstra
ctButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258
)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:245)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:2
31)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483
)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Window.dispatchEventImpl(Window.java:1606)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchTh
read.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Das Problem ist immer folgende Zeile:
Code:
st = connection.createStatement();
Es wird alles compiliert aber zur Laufzeit dann immer dieser Fehler. Ich weiß einfach nicht woran es liegt zumal es über das Menü ja funktioniert bei anderen Funktionen.
Ich habe auch einige Funktionen geschrieben die ich im Konstruktor aufrufe weil sofort auf der GUI einige Tabellendaten erscheinen sollen. also sowas:
Code:
void kaefignummer_einweisung_combo_auswahl(){
try
{
//Statement erzeugen
Statement st = connection.createStatement();
//Query ausführen
ResultSet rs = st.executeQuery("SELECT penNo FROM pen where penStatus = 'A'");
String test = "test";
textbereich.setText(null);
while (rs.next())
{
// kaefignummer_combo.addItem(rs.getString("penNo"));
kaefignummer_einweisung_combo.addItem(makeObj(rs.getString("penNo")));
// textbereich.append( rs.getString("mittel")+"\t\n");
}
//alle Objekte schließen
// st.close();
}
catch (Exception ex)
{
ex.printStackTrace();
}
}
Hier kommt dann auch nach Start des Programms gleich die Nullpointer Exception, die sich immer auf die connection- Zeile bezieht.
Ich hoffe die Beschreibung ist ausführlich genug und jemand kann helfen...
Also danke schonmal und gute Nacht...
Gruß Pierre
P.S. Noch was anderes:
Ich hab als Überschriften Buttons genommen. War wahrscheinlich nicht so clever... disabled kann man ja nix mehr lesen ;-) Gibt es ne Möglichkeit einen JButton zu disablen aber im Aussehen nicht zu verändern? Bzw. einfach die Schriftfarbe zu setzen?