Hey,
es geht um folgendes. Wir arbeiten in der Schule mit BlueJ und der SuM Bibliothek.
Nun sollen wir ein Programm schreiben, dass mit SQL zusammenarbeitet und auf Daten von der Datenbank zugreift.
Es geht um erstmal um einen Plan für die Belegung eines Raumes. Dazu muss man in ein Textfeld eine Kalenderwoche eingeben, diese wird dann abgefragt, ob die gleiche Zahl auch in der Datenbank steht. Ist das der Fall, sollen diese Daten auf der Oberfläche in einer Tabelle angezeigt werden. Die Oberfläche dazu sieht so aus:
Quelltext der entsprechenden Klasse:
Die Daten zur Datenbank wurden dabei selbstversändlich absichtlich rausgelassen.
Wird das Programm nun ausgeführt, eine Zahl in Kalenderwoche eingegeben und auf Anzeigen geklickt, taucht folgender Fehler auf:
Woran könnte das liegen?
Falls noch entsprechende Informationen benötigt werden, bitte Bescheid sagen.
Vielen Dank im voraus!
es geht um folgendes. Wir arbeiten in der Schule mit BlueJ und der SuM Bibliothek.
Nun sollen wir ein Programm schreiben, dass mit SQL zusammenarbeitet und auf Daten von der Datenbank zugreift.
Es geht um erstmal um einen Plan für die Belegung eines Raumes. Dazu muss man in ein Textfeld eine Kalenderwoche eingeben, diese wird dann abgefragt, ob die gleiche Zahl auch in der Datenbank steht. Ist das der Fall, sollen diese Daten auf der Oberfläche in einer Tabelle angezeigt werden. Die Oberfläche dazu sieht so aus:
Quelltext der entsprechenden Klasse:
Java:
package Filmraumbelegung;
/**
* Die Klasse SuMAnwendung wurde automatisch erstellt:
*
* @author
* @version 3.12.2015
*/
import sum.kern.*;
import sum.komponenten.*;
import sum.werkzeuge.*;
import sum.ereignis.*;
import sum.sql.*;
public class SuMAnwendung extends EBAnwendung
{
// Objekte
private Etikett hatEtikettFilmraumbelegung;
private Tabelle hatTabelle1;
private Etikett hatEtikettStunde1;
private Etikett hatEtikettStunde2;
private Etikett hatEtikettStunde3;
private Etikett hatEtikettStunde4;
private Etikett hatEtikettStunde5;
private Etikett hatEtikettStunde6;
private Etikett hatEtikettMontag;
private Etikett hatEtikettDienstag;
private Etikett hatEtikettMittwoch;
private Etikett hatEtikettDonnerstag;
private Etikett hatEtikettFreitag;
private Knopf hatKnopfBeenden;
private Etikett hatEtikettKalenderwoche;
private Textfeld hatTextfeld1;
private Etikett hatEtikettLehrer;
private Textfeld hatTextfeld2;
private Etikett hatEtikettKursart;
private Textfeld hatTextfeld3;
private Knopf hatKnopfAnzeigen;
private Knopf hatKnopfEintragen;
private Etikett hatEtikettStunde;
private Etikett hatEtikettWochentag;
private Textfeld hatTextfeld4;
private Textfeld hatTextfeld5;
private Etikett RaumEtikett;
private Textwerkzeug hatTW;
private Datenbank hatDB;
private boolean zVerbunden;
private int Kalenderwoche;
int KNr;
int ZStunde;
int KWoche;
String Lehrer;
String KTag;
String Kursart;
String Fach;
// Attribute
/**
* Konstruktor
*/
public SuMAnwendung()
{
//Initialisierung der Oberklasse
super(1075, 964);
hatEtikettFilmraumbelegung = new Etikett(116, 50, 100, 25, "Filmraum-Belegung");
// Ausrichtung
hatEtikettFilmraumbelegung.setzeAusrichtung(Ausrichtung.LINKS);
hatTabelle1 = new Tabelle(141, 147, 300, 166, 6, 5);
hatEtikettStunde1 = new Etikett(38, 147, 101, 25, "Stunde1");
// Ausrichtung
hatEtikettStunde1.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettStunde2 = new Etikett(37, 174, 100, 25, "Stunde2");
// Ausrichtung
hatEtikettStunde2.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettStunde3 = new Etikett(37, 201, 100, 25, "Stunde3");
// Ausrichtung
hatEtikettStunde3.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettStunde4 = new Etikett(37, 229, 100, 25, "Stunde4");
// Ausrichtung
hatEtikettStunde4.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettStunde5 = new Etikett(38, 258, 100, 25, "Stunde5");
// Ausrichtung
hatEtikettStunde5.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettStunde6 = new Etikett(37, 288, 100, 25, "Stunde6");
// Ausrichtung
hatEtikettStunde6.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettMontag = new Etikett(144, 120, 55, 25, "Montag");
// Ausrichtung
hatEtikettMontag.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettDienstag = new Etikett(202, 120, 54, 25, "Dienstag");
// Ausrichtung
hatEtikettDienstag.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettMittwoch = new Etikett(258, 120, 60, 25, "Mittwoch");
// Ausrichtung
hatEtikettMittwoch.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettDonnerstag = new Etikett(322, 120, 66, 25, "Donnerstag");
// Ausrichtung
hatEtikettDonnerstag.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettFreitag = new Etikett(390, 119, 51, 25, "Freitag");
// Ausrichtung
hatEtikettFreitag.setzeAusrichtung(Ausrichtung.LINKS);
hatKnopfBeenden = new Knopf(380, 548, 100, 25, "Beenden");
hatKnopfBeenden.setzeBearbeiterGeklickt("hatKnopfBeendenGeklickt");
hatEtikettKalenderwoche = new Etikett(509, 143, 86, 25, "Kalenderwoche");
// Ausrichtung
hatEtikettKalenderwoche.setzeAusrichtung(Ausrichtung.LINKS);
hatTextfeld1 = new Textfeld(601, 143, 75, 25, "");
// Ausrichtung
hatTextfeld1.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettLehrer = new Etikett(507, 173, 89, 25, "Lehrer");
// Ausrichtung
hatEtikettLehrer.setzeAusrichtung(Ausrichtung.LINKS);
hatTextfeld2 = new Textfeld(600, 172, 173, 25, "");
// Ausrichtung
hatTextfeld2.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettKursart = new Etikett(506, 207, 89, 25, "Kursart");
// Ausrichtung
hatEtikettKursart.setzeAusrichtung(Ausrichtung.LINKS);
hatTextfeld3 = new Textfeld(601, 206, 80, 25, "");
// Ausrichtung
hatTextfeld3.setzeAusrichtung(Ausrichtung.LINKS);
hatKnopfAnzeigen = new Knopf(498, 304, 100, 25, "Anzeigen");
hatKnopfAnzeigen.setzeBearbeiterGeklickt("hatKnopfAnzeigenGeklickt");
hatKnopfEintragen = new Knopf(605, 304, 100, 25, "Eintragen");
hatKnopfEintragen.setzeBearbeiterGeklickt("hatKnopfEintragenGeklickt");
hatEtikettStunde = new Etikett(505, 240, 90, 25, "Stunde");
// Ausrichtung
hatEtikettStunde.setzeAusrichtung(Ausrichtung.LINKS);
hatEtikettWochentag = new Etikett(504, 273, 91, 25, "Wochentag");
// Ausrichtung
hatEtikettWochentag.setzeAusrichtung(Ausrichtung.LINKS);
hatTextfeld4 = new Textfeld(602, 240, 54, 25, "");
// Ausrichtung
hatTextfeld4.setzeAusrichtung(Ausrichtung.LINKS);
hatTextfeld5 = new Textfeld(602, 273, 102, 25, "");
// Ausrichtung
hatTextfeld5.setzeAusrichtung(Ausrichtung.LINKS);
RaumEtikett = new Etikett(702, 273, 102, 25, "");
hatTW = new Textwerkzeug();
hatDB = new Datenbank();
//String lAntwort = hatDB.verbindeMySQL();
//zVerbunden = hatTW.istGleich(lAntwort, "");
//if (zVerbunden==true)
// this.zeigeErsten();
}
/**
* Vorher: Ereignis GeklicktvonhatKnopfBeenden fand statt.
* Nachher: (schreiben Sie, was in dieser Methode ausgefuehrt wird)
*/
public void hatKnopfBeendenGeklickt()
{
this.beenden();
}
/**
* Vorher: Ereignis GeklicktvonhatKnopfAnzeigen fand statt.
* Nachher: (schreiben Sie, was in dieser Methode ausgefuehrt wird)
*/
public void hatKnopfAnzeigenGeklickt(SQLErgebnisliste pErgebnis)
{
hatDB.verbindeMySQL();
Kalenderwoche = hatTextfeld1.inhaltAlsGanzeZahl();
hatDB.sendeSQL("SELECT * FROM Raumbelegung WHERE KWoche =" + Kalenderwoche);
KNr = pErgebnis.datenfeldAlsGanzeZahl("KNr");
ZStunde = pErgebnis.datenfeldAlsGanzeZahl("ZStunde");
KWoche = pErgebnis.datenfeldAlsGanzeZahl("KWoche");
KTag = pErgebnis.datenfeldAlsText("KTag");
if (KNr >= 799)
{
hatDB.sendeSQL("SELECT * FROM Fach WHERE KNr =" + KNr);
Kursart = pErgebnis.datenfeldAlsText("Kursart");
Fach = pErgebnis.datenfeldAlsText("Fach");
Lehrer = pErgebnis.datenfeldAlsText("Lehrer");
}
if (KTag == "Montag" && ZStunde == 1)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 1, 1);
else if (KTag == "Montag" && ZStunde == 2)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 2, 1);
else if (KTag == "Montag" && ZStunde == 3)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 3, 1);
else if (KTag == "Montag" && ZStunde == 4)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 4, 1);
else if (KTag == "Montag" && ZStunde == 5)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 5, 1);
else if (KTag == "Montag" && ZStunde == 6)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 6, 1);
else if (KTag == "Dienstag" && ZStunde == 1)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 1, 2);
else if (KTag == "Dienstag" && ZStunde == 2)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 2, 2);
else if (KTag == "Dienstag" && ZStunde == 3)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 3, 2);
else if (KTag == "Dienstag" && ZStunde == 4)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 4, 2);
else if (KTag == "Dienstag" && ZStunde == 5)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 5, 2);
else if (KTag == "Dienstag" && ZStunde == 6)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 6, 2);
else if (KTag == "Mittwoch" && ZStunde == 1)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 1, 3);
else if (KTag == "Mittwoch" && ZStunde == 2)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 2, 3);
else if (KTag == "Mittwoch" && ZStunde == 3)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 3, 3);
else if (KTag == "Mittwoch" && ZStunde == 4)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 4, 3);
else if (KTag == "Mittwoch" && ZStunde == 5)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 5, 3);
else if (KTag == "Mittwoch" && ZStunde == 6)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 6, 3);
else if (KTag == "Donnerstag" && ZStunde == 1)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 1, 4);
else if (KTag == "Donnerstag" && ZStunde == 2)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 2, 4);
else if (KTag == "Donnerstag" && ZStunde == 3)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 3, 4);
else if (KTag == "Donnerstag" && ZStunde == 4)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 4, 4);
else if (KTag == "Donnerstag" && ZStunde == 5)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 5, 4);
else if (KTag == "Donnerstag" && ZStunde == 6)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 6, 4);
else if (KTag == "Freitag" && ZStunde == 1)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 1, 5);
else if (KTag == "Freitag" && ZStunde == 2)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 2, 5);
else if (KTag == "Freitag" && ZStunde == 3)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 3, 5);
else if (KTag == "Freitag" && ZStunde == 4)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 4, 5);
else if (KTag == "Freitag" && ZStunde == 5)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 5, 5);
else if (KTag == "Freitag" && ZStunde == 6)
hatTabelle1.setzeInhaltAn(Kursart + "" + Fach, 6, 5);
}
/**
* Vorher: Ereignis GeklicktvonhatKnopfEintragen fand statt.
* Nachher: (schreiben Sie, was in dieser Methode ausgefuehrt wird)
*/
public void hatKnopfEintragenGeklickt()
{
// Schreiben Sie hier den Text ihres Dienstes
}
}
Wird das Programm nun ausgeführt, eine Zahl in Kalenderwoche eingegeben und auf Anzeigen geklickt, taucht folgender Fehler auf:
Fehler: Methode "hatKnopfAnzeigenGeklickt" von Knopf "Anzeigen" nicht gefunden.
java.lang.NoSuchMethodException: java.lang.Object.hatKnopfAnzeigenGeklickt(sum.komponenten.Knopf)
at java.lang.Class.getDeclaredMethod(Class.java:2130)
at sum.komponenten.Knopf.knopfGeklickt(Knopf.java:208)
at sum.komponenten.Knopf$KnopfReaktor.actionPerformed(Knopf.java:26)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6535)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6300)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.lang.NoSuchMethodException: java.lang.Object.hatKnopfAnzeigenGeklickt(sum.komponenten.Knopf)
at java.lang.Class.getDeclaredMethod(Class.java:2130)
at sum.komponenten.Knopf.knopfGeklickt(Knopf.java:208)
at sum.komponenten.Knopf$KnopfReaktor.actionPerformed(Knopf.java:26)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6535)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6300)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4891)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4713)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Woran könnte das liegen?
Falls noch entsprechende Informationen benötigt werden, bitte Bescheid sagen.
Vielen Dank im voraus!