Ich grüße Euch.
Ich schreibe bald an der Uni in "Objektorientierte Programmierung" meine Klausur, also dachte ich, ich schreibe ein Programm, das meine Zensuren speichern und anzeigen kann, da alles drin sein müsste, was ich zu lernen hab.
Man sollte die neben der eigentlichen Note auch den Kursnamen und das Semester angeben können, darauf hin wird das ganze in einem Choiceelement (alles mit AWT geschrieben) anzeigt werden. Daraufhin soll man darin sich einen Kurs aussuchen können und per Klick auf "Anzeigen" die Daten angezeigt bekommen. Wie ich das verwirklicht habe seh ihr im Code.
Mein Problem an der Sache ist, das anzeigen. Es lässt sich soweit alles in einem Warteschlangenarray speichern. Aber nun will ich halt das genaue Element angezeigt haben. Ich lasse es mir zum Testen momentan leidiglich den Kursnamen in der Konsole anzeigen. Besser gesagt, so sollte es funktionieren. Tut es aber nicht.
Die problematischen Zeilen befinden sich bei den Zeilen 156-191. Die benötigte Zeile wird in 104 abgefragt und gespeichert und in 118 weitergegeben.
Ich hoffe ihr könnt mir helfen.
Danke,
Das Dogma.
Ich schreibe bald an der Uni in "Objektorientierte Programmierung" meine Klausur, also dachte ich, ich schreibe ein Programm, das meine Zensuren speichern und anzeigen kann, da alles drin sein müsste, was ich zu lernen hab.
Man sollte die neben der eigentlichen Note auch den Kursnamen und das Semester angeben können, darauf hin wird das ganze in einem Choiceelement (alles mit AWT geschrieben) anzeigt werden. Daraufhin soll man darin sich einen Kurs aussuchen können und per Klick auf "Anzeigen" die Daten angezeigt bekommen. Wie ich das verwirklicht habe seh ihr im Code.
Mein Problem an der Sache ist, das anzeigen. Es lässt sich soweit alles in einem Warteschlangenarray speichern. Aber nun will ich halt das genaue Element angezeigt haben. Ich lasse es mir zum Testen momentan leidiglich den Kursnamen in der Konsole anzeigen. Besser gesagt, so sollte es funktionieren. Tut es aber nicht.
Die problematischen Zeilen befinden sich bei den Zeilen 156-191. Die benötigte Zeile wird in 104 abgefragt und gespeichert und in 118 weitergegeben.
Ich hoffe ihr könnt mir helfen.
Danke,
Das Dogma.
Java:
import java.awt.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class ZensurenSpiegel extends Frame {
Button bHinzu, bLaden, bSpeichern, bAnzeigen;
Choice chAusw, chSemester;
TextField tfKurs, tfZensur;
Label lbKurs, lbNote, lbSemester;
String kurs;
int semester, ausw_ind;
float note;
Verwaltung verw;
KursSchlange ks;
ZensurenSpiegel() {
super("Zensurenspiegel");
setLayout(new BorderLayout());
bHinzu = new Button("Hinzufügen");
bLaden = new Button("Laden");
bSpeichern = new Button("Speichern");
bAnzeigen = new Button("Anzeigen");
chAusw = new Choice();
chSemester = new Choice();
chAusw.add("Kurs");
chSemester.add("Semester");
for(int i = 1; i < 11; i++)
chSemester.add(""+i);
tfKurs = new TextField();
tfZensur = new TextField("0");
lbKurs = new Label("-");
lbNote = new Label("-");
lbSemester = new Label("-");
verw = new Verwaltung(chAusw, lbKurs, lbNote, lbSemester);
ks = new KursSchlange(lbKurs, lbNote, lbSemester);
Panel pUnten = new Panel();
Panel pOben = new Panel();
Panel pMitte = new Panel();
Panel pLinks = new Panel();
Panel pRechts = new Panel();
pUnten.setLayout(new GridLayout(1,2,5,5));
pOben.setLayout(new GridLayout(1,3,5,5));
pMitte.setLayout(new GridLayout(1,2,5,5));
pLinks.setLayout(new GridLayout(3,2,5,5));
pRechts.setLayout(new GridLayout(3,2,5,5));
pUnten.add(bLaden);
pUnten.add(bSpeichern);
pOben.add(new Label("Kursauswahl:", Label.CENTER));
pOben.add(chAusw);
pOben.add(bAnzeigen);
pMitte.add(pLinks);
pMitte.add(pRechts);
pLinks.add(new Label("Kurs:", Label.CENTER));
pLinks.add(tfKurs);
pLinks.add(new Label("Zensur:", Label.CENTER));
pLinks.add(tfZensur);
pLinks.add(bHinzu);
pLinks.add(chSemester);
pRechts.add(new Label("Kurs:", Label.CENTER));
pRechts.add(lbKurs);
pRechts.add(new Label("Semester:", Label.CENTER));
pRechts.add(lbSemester);
pRechts.add(new Label("Note:", Label.CENTER));
pRechts.add(lbNote);
add("South", pUnten);
add("North", pOben);
add("Center", pMitte);
ButtonKlick bklick = new ButtonKlick();
ListenAuswahl lausw = new ListenAuswahl();
bHinzu.addActionListener(bklick);
bAnzeigen.addActionListener(bklick);
chSemester.addItemListener(lausw);
chAusw.addItemListener(lausw);
addWindowListener(new FensterSchliessen());
setSize(500,150);
setVisible(true);
}
class ListenAuswahl implements ItemListener {
public void itemStateChanged(ItemEvent e) {
Choice ch = (Choice)e.getSource();
if(ch == chSemester) {
semester = chSemester.getSelectedIndex();
}
if(ch == chAusw) {
ausw_ind = chAusw.getSelectedIndex();
}
}
}
class ButtonKlick implements ActionListener {
public void actionPerformed(ActionEvent e) {
Button b = (Button)e.getSource();
if(b==bHinzu) {
kurs = tfKurs.getText();
note = Float.parseFloat(tfZensur.getText());
verw.fuegeHinzu(kurs, note, semester);
}
if(b==bAnzeigen) {
ks.anzeigen(ausw_ind);
System.out.println(""+ausw_ind);
}
}
}
class FensterSchliessen extends WindowAdapter {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
}
public static void main(String[] arg) {
new ZensurenSpiegel();
}
}
//--------------------------------------------------------------------
class Verwaltung {
Choice chAusw;
Label lbKurs, lbNote, lbSemester;
Verwaltung(Choice ch, Label kurs, Label note, Label semes) {
chAusw = ch;
lbKurs = kurs;
lbNote = note;
lbSemester = semes;
}
public void fuegeHinzu(String modul, float note, int semes) {
chAusw.add(modul+" ("+semes+"S)");
}
}
//--------------------------------------------------------------------
class Kurs {
String name;
float note;
int semester;
Kurs(String titel, float zens, int semes) {
name = titel;
note = zens;
semester = semes;
}
}
//--------------------------------------------------------------------
class KursSchlange {
Kurs[] kurs1;
Kurs k;
int anz;
Label lbKurs, lbNote, lbSemester;
KursSchlange(Label kurs, Label note, Label semes) {
kurs1 = new Kurs[100];
anz = 1;
lbKurs = kurs;
lbNote = note;
lbSemester = semes;
}
public void anfuegen(String titel, float zens, int semes) {
k = new Kurs(titel, zens, semes);
}
public void anzeigen(int i) {
System.out.println(""+k.name);
}
}