Stunden der Lehrer eingefügt

This commit is contained in:
maxlm128 2021-10-22 17:01:27 +02:00
parent 23fb54ff2d
commit b3f34b4994
9 changed files with 2142 additions and 91 deletions

View File

@ -1,11 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-15">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="lib" path="+libs/sqlite-jdbc-3.36.0.3.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View File

@ -1,8 +1,8 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=15
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=15
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@ -10,5 +10,5 @@ org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=15
org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.8

View File

@ -45,7 +45,14 @@ public class Stundenplan implements SelectionListener {
teachers[i] = r.getData()[i][0];
}
gui.addFilter("Lehrer", teachers);
// Das gleiche für die klassen
dbc.executeStatement("SELECT bezeichner FROM klassen");
r = dbc.getCurrentQueryResult();
String[] klassen = new String[r.getRowCount()];
for (int i = 0; i < r.getRowCount(); i++) {
klassen[i] = r.getData()[i][0];
}
gui.addFilter("Klassen", klassen);
// GUI anzeigen und Verhalten bei Interaktion festlegen
gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
gui.addSelectionListener(this); // GUI ruft Methode selectionChanged auf, wenn sich eine Auswahlbox ändert.
@ -70,8 +77,10 @@ public class Stundenplan implements SelectionListener {
gui.removeAllLessons();
// Neue Daten aus der Datenbank abfragen.
// Hier gefakte Daten, die Struktur der Datenbank ist nicht vorgegeben.
dbc.executeStatement("SELECT 0,'Q2','405',kuerzel,0,0,'Informatik',-16711936 FROM lehrer WHERE kuerzel = '" + pNewValue + "'");
dbc.executeStatement(
"SELECT Fach,Raum,Klassen_bezeichner,Tag,Stunde FROM Unterrichtsstunden LEFT OUTER JOIN sind_in_Unterrichtsstunden "
+ "WHERE sind_in_Unterrichtsstunden.Stunden_ID = Unterrichtsstunden.StundenId AND Unterrichtsstunden.Lehrer_Kürzel LIKE \""
+ pNewValue + "\"");
QueryResult r = dbc.getCurrentQueryResult();
// Falls es ein Ergebnis gibt ...
@ -80,14 +89,41 @@ public class Stundenplan implements SelectionListener {
// Neue Stunden in die GUI schreiben
for (int i = 0; i < data.length; i++) {
gui.addLesson(
Integer.parseInt(data[i][4]), // Spalte im Plan (0=Montag, ... ,4=Freitag)
Integer.parseInt(data[i][5]), // Zeile im Plan (0=1. Stunde, ... ,9=10. Stunde)
data[i][6], // Titel
"Raum " + data[i][2], // Untertitel
data[i][1], // Beschreibungstext
data[i][3], // Fußzeile
new Color(Integer.parseInt(data[i][7])) // Farbe (Objekt der Klasse Color)
gui.addLesson(bestimmeSpalte(data[i][3]), // Spalte im Plan (0=Montag, ... ,4=Freitag)
Integer.parseInt(data[i][4]) - 1, // Zeile im Plan (0=1. Stunde, ... ,9=10. Stunde)
data[i][0], // Titel
"Raum " + data[i][1], // Untertitel
data[i][2], // Beschreibungstext
pNewValue, // Fußzeile
new Color(-16711936) // Farbe (Objekt der Klasse Color)
);
}
// GUI-Fenster neu zeichnen, um neue Elemente anzuzeigen.
gui.revalidate();
gui.repaint();
}
} else if (pList == "Klassen") {
// Zuerst alle bisherigen Stunden aus der GUI entfernen
gui.removeAllLessons();
// Neue Daten aus der Datenbank abfragen.
dbc.executeStatement("");
QueryResult r = dbc.getCurrentQueryResult();
// Falls es ein Ergebnis gibt ...
if (r != null) {
String[][] data = r.getData();
// Neue Stunden in die GUI schreiben
for (int i = 0; i < data.length; i++) {
gui.addLesson(bestimmeSpalte(data[i][3]), // Spalte im Plan (0=Montag, ... ,4=Freitag)
Integer.parseInt(data[i][4]) - 1, // Zeile im Plan (0=1. Stunde, ... ,9=10. Stunde)
data[i][0], // Titel
"Raum " + data[i][1], // Untertitel
data[i][2], // Beschreibungstext
pNewValue, // Fußzeile
new Color(-16711936) // Farbe (Objekt der Klasse Color)
);
}
@ -97,4 +133,21 @@ public class Stundenplan implements SelectionListener {
}
}
}
public int bestimmeSpalte(String pTag) {
switch (pTag) {
case "Montag":
return 0;
case "Dienstag":
return 1;
case "Mittwoch":
return 2;
case "Donnerstag":
return 3;
case "Freitag":
return 4;
default:
return 5;
}
}
}

Binary file not shown.

File diff suppressed because it is too large Load Diff

1001
unterrichtet_klassen.csv Normal file

File diff suppressed because it is too large Load Diff