Hallo ich bin weiterhin dabei ein Zeiterfassungsprogramm zu erstellen. Man kann einen Titel eingeben, die Zeit starten und es gibt eine Übersicht wo man alle gestoppten Zeiten mit Datum, Titel und Uhrzeit sehen kann. Ich habe aber immer noch ein Problem und das währe es werden nämlich mehrere Zeilen bei Alle Zeiten Button angezeigt, obwohl sie noch gar nicht gestoppt worden bzw. das JLabel noch nicht auf das gesetzt wurde. Komisch ist auch das manchmal zwei Zeilen mehr angezeigt werden, manchmal sind es aber auch 5 oder 6 oder.... (Die Anzahl der Zeilen variiert, die mehr angezeigt werden, obwohl ich nichts bei der Ausführung oder im Code ändere). Der Fehler befindet sich wahrscheinlich irgendwo bei der Variable geaendert oder evtl. das der else und if Teil in eine Zeile muss oder ist das Programm/der Computer einfach zu langsam, das die Variable geaendert nicht schnell genug auf den Wert 1 gesetzt werden kann?
Das ist nicht der ganze Code, das ist nur der Teil wo die Variable geaendert vor kommt und wo auch nur der Fehler sein kann, da der Rest vom Code keinen Einfluss auf irgendwas wichtiges für den speichern oder alle Zeiten Button hat.
Entschuldigt bitte für den etwas längeren und komplizierten Code, den hätte man bestimmt auch einfacher schreiben können, aber das lassen wir jetzt so!
Ich hoffe ich kann das Problem endlich mit Eurer Hilfe entfernen!
Vielen Dank für Eure Antworten!
Das ist nicht der ganze Code, das ist nur der Teil wo die Variable geaendert vor kommt und wo auch nur der Fehler sein kann, da der Rest vom Code keinen Einfluss auf irgendwas wichtiges für den speichern oder alle Zeiten Button hat.
Entschuldigt bitte für den etwas längeren und komplizierten Code, den hätte man bestimmt auch einfacher schreiben können, aber das lassen wir jetzt so!
Ich hoffe ich kann das Problem endlich mit Eurer Hilfe entfernen!
Java:
static JButton NeueZeit = new JButton("Neue Zeit");
static JButton AlleZeiten = new JButton("Alle Zeiten");
static JButton ZeitenLoeschen = new JButton("Zeiten löschen");
static JButton appschliessen = new JButton("App schließen");
static JLabel text = new JLabel ("");
static JLabel welcheseitetext = new JLabel ("1");
static JLabel fehlermeldung = new JLabel ("");
static JTextField textfeld = new JTextField("");
static JButton weiter = new JButton("Weiter");
static JButton loeschen = new JButton("Löschen");
static JButton abbruch = new JButton("Abbruch");
static JButton menu = new JButton("Menu");
static JButton los = new JButton("Los!");
static JButton stopp = new JButton("Stopp!");
static JButton aelterezeiten = new JButton("Ältere");
static JButton aelterezeiten2 = new JButton("Ältere");
static JButton neuerezeiten = new JButton("Neuere");
static JButton neuerezeiten2 = new JButton("Neuere");
static JLabel Zeit = new JLabel("00:00");
static JLabel texterfolgreich = new JLabel("");
static Integer minuten = 0;
static Integer stunden = 0;
static JButton speichern = new JButton("Speichern");
static String programm;
static Integer welchezeile = 0;
static Integer geaendert = 0; //Wird auf 0 gesetzt!
static Integer welcheseitensindfreigeschaltet = 0;
static Timer timer;
static String uhrzeit;
speichern.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
speichern.setVisible(false);
Zeit.setVisible(false);
if (welchezeile == 0 && geaendert == 0) {
geaendert = 1;
stunden1 = stunden;
minuten1 = minuten;
minuten = 0;
stunden = 0;
zeile1.setText(programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+" " + stunden1 + ":" + minuten1+"h");
welchezeile = 1;
speichernzeile1s1 = programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+" " + stunden1 + ":" + minuten1+"h";
preferences.put("speichernzeile1s1", speichernzeile1s1);
} else
if (welchezeile == 1 && geaendert == 0) {
geaendert = 1;
stunden2 = stunden;
minuten2 = minuten;
minuten = 0;
stunden = 0;
zeile2.setText(programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+ " " + stunden2 + ":" + minuten2+"h");
welchezeile = 2;
speichernzeile2s1 = programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+" " + stunden2 + ":" + minuten2+"h";
preferences.put("speichernzeile2s1", speichernzeile2s1);
} else
if (welchezeile == 2 && geaendert == 0) {
geaendert = 1;
stunden3 = stunden;
minuten3 = minuten;
minuten = 0;
stunden = 0;
zeile3.setText(programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+ " " + stunden3 + ":" + minuten3+"h");
welchezeile = 3;
speichernzeile3s1 = programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+" " + stunden3 + ":" + minuten3+"h";
preferences.put("speichernzeile3s1", speichernzeile3s1);
} else
if (welchezeile == 3 && geaendert == 0) {
geaendert = 1;
stunden4 = stunden;
minuten4 = minuten;
minuten = 0;
stunden = 0;
zeile4.setText(programm + " " + dateFormat.format(currentDate) + " || "+ uhrzeit+" " + stunden4 + ":" + minuten4+"h");
welchezeile = 4;
speichernzeile4s1 = programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+" " + stunden4 + ":" + minuten4+"h";
preferences.put("speichernzeile4s1", speichernzeile4s1);
} else
if (welchezeile == 4 && geaendert == 0) {
geaendert = 1;
stunden5 = stunden;
minuten5 = minuten;
minuten = 0;
stunden = 0;
zeile5.setText(programm + " " + dateFormat.format(currentDate) + " || "+ uhrzeit+" " + stunden5 + ":" + minuten5+"h");
welchezeile = 5;
speichernzeile5s1 = programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+" " + stunden5 + ":" + minuten5+"h";
preferences.put("speichernzeile5s1", speichernzeile5s1);
} else
if (welchezeile == 5 && geaendert == 0) {
geaendert = 1;
stunden6 = stunden;
minuten6 = minuten;
minuten = 0;
stunden = 0;
zeile6.setText(programm + " " + dateFormat.format(currentDate) + " || "+ uhrzeit+" " + stunden6 + ":" + minuten6+"h");
welchezeile = 6;
speichernzeile6s1 = programm + " " + dateFormat.format(currentDate) +" || "+ uhrzeit+" " + stunden6 + ":" + minuten6+"h";
preferences.put("speichernzeile6s1", speichernzeile6s1);
} else //....usw. bis
if (welchezeiles3 == 15 && geaendert == 0) {
geaendert = 1;
stunden16s3 = stunden;
minuten16s3 = minuten;
minuten = 0;
stunden = 0;
zeile16s3.setText(programm + " " + dateFormat.format(currentDate) + " || " + uhrzeit + " " + stunden16s3 + ":" + minuten16s3 + "h");
welchezeiles3 = welchezeiles3 + 1;
speichernzeile16s3 = programm + " " + dateFormat.format(currentDate) + " || " + uhrzeit + " " + stunden16s3 + ":" + minuten16s3 + "h";
preferences.put("speichernzeile16s3", speichernzeile16s3);
}
preferences.put("welchezeile", String.valueOf(welchezeile));
preferences.put("welcheseitensindfreigeschaltet", String.valueOf(welcheseitensindfreigeschaltet));
preferences.put("welchezeiles2", String.valueOf(welchezeiles2));
preferences.put("welchezeiles3", String.valueOf(welchezeiles3));
programm = "";
geaendert = 0; // Wird wieder auf 0 gesetzt!
menu();
}
} );
AlleZeiten.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
NeueZeit.setVisible(false);
fehlermeldung.setVisible(false);
AlleZeiten.setVisible(false);
ZeitenLoeschen.setVisible(false);
appschliessen.setVisible(false);
menu.setVisible(true);
if (welchezeile == 0) {
text.setText("Keine bisherigen Zeiten!");
text.setBounds(100, 100, 300, 30);
text.setFont(new Font("Arial", Font.BOLD, 16));
text.setForeground(Color.RED);
text.setVisible(true);
}
if (welcheseitensindfreigeschaltet == 2) {
welcheseite = 2;
}
if (welcheseitensindfreigeschaltet == 3) {
welcheseite = 3;
}
if (welcheseite == 2) {
aelterezeiten2.setVisible(true);
}
if (welcheseite == 3) {
aelterezeiten.setVisible(true);
}
if (welchezeile > 0) {
welcheseitetext.setText(String.valueOf(welcheseite));
welcheseitetext.setVisible(true);
}
if (welcheseite == 1) {
if (welchezeile == 1 || welchezeile > 1) {
zeile1.setVisible(true);
}
if (welchezeile == 2 || welchezeile > 2) {
zeile2.setVisible(true);
}
if (welchezeile == 3 || welchezeile > 3) {
zeile3.setVisible(true);
}
if (welchezeile == 4 || welchezeile > 4) {
zeile4.setVisible(true);
}
if (welchezeile == 5 || welchezeile > 5) {
zeile5.setVisible(true);
}
if (welchezeile == 6 || welchezeile > 6) {
zeile6.setVisible(true);
}
if (welchezeile == 7 || welchezeile > 7) {
zeile7.setVisible(true);
}
if (welchezeile == 8 || welchezeile > 8) {
zeile8.setVisible(true);
}
if (welchezeile == 9 || welchezeile > 9) {
zeile9.setVisible(true);
}
if (welchezeile == 10 || welchezeile > 10) {
zeile10.setVisible(true);
}
if (welchezeile == 11 || welchezeile > 11) {
zeile11.setVisible(true);
}
if (welchezeile == 12 || welchezeile > 12) {
zeile12.setVisible(true);
}
if (welchezeile == 13 || welchezeile > 13) {
zeile13.setVisible(true);
}
if (welchezeile == 14 || welchezeile > 14) {
zeile14.setVisible(true);
}
if (welchezeile == 15 || welchezeile > 15) {
zeile15.setVisible(true);
}
if (welchezeile == 16 || welchezeile > 16) {
zeile16.setVisible(true);
}
}
if (welcheseite == 2) {
if (welchezeiles2 == 1 || welchezeiles2 > 1) {
zeile1s2.setVisible(true);
}
if (welchezeiles2 == 2 || welchezeiles2 > 2) {
zeile2s2.setVisible(true);
}
if (welchezeiles2 == 3 || welchezeiles2 > 3) {
zeile3s2.setVisible(true);
}
if (welchezeiles2 == 4 || welchezeiles2 > 4) {
zeile4s2.setVisible(true);
}
if (welchezeiles2 == 5 || welchezeiles2 > 5) {
zeile5s2.setVisible(true);
}
if (welchezeiles2 == 6 || welchezeiles2 > 6) {
zeile6s2.setVisible(true);
}
if (welchezeiles2 == 7 || welchezeiles2 > 7) {
zeile7s2.setVisible(true);
}
if (welchezeiles2 == 8 || welchezeiles2 > 8) {
zeile8s2.setVisible(true);
}
if (welchezeiles2 == 9 || welchezeiles2 > 9) {
zeile9s2.setVisible(true);
}
if (welchezeiles2 == 10 || welchezeiles2 > 10) {
zeile10s2.setVisible(true);
}
if (welchezeiles2 == 11 || welchezeiles2 > 11) {
zeile11s2.setVisible(true);
}
if (welchezeiles2 == 12 || welchezeiles2 > 12) {
zeile12s2.setVisible(true);
}
if (welchezeiles2 == 13 || welchezeiles2 > 13) {
zeile13s2.setVisible(true);
}
if (welchezeiles2 == 14 || welchezeiles2 > 14) {
zeile14s2.setVisible(true);
}
if (welchezeiles2 == 15 || welchezeiles2 > 15) {
zeile15s2.setVisible(true);
}
if (welchezeiles2 == 16 || welchezeiles2 > 16) {
zeile16s2.setVisible(true);
}
}
if (welcheseite == 3) {
if (welchezeiles3 == 1 || welchezeiles3 > 1) {
zeile1s3.setVisible(true);
}
if (welchezeiles3 == 2 || welchezeiles3 > 2) {
zeile2s3.setVisible(true);
}
if (welchezeiles3 == 3 || welchezeiles3 > 3) {
zeile3s3.setVisible(true);
}
if (welchezeiles3 == 4 || welchezeiles3 > 4) {
zeile4s3.setVisible(true);
}
if (welchezeiles3 == 5 || welchezeiles3 > 5) {
zeile5s3.setVisible(true);
}
if (welchezeiles3 == 6 || welchezeiles3 > 6) {
zeile6s3.setVisible(true);
}
if (welchezeiles3 == 7 || welchezeiles3 > 7) {
zeile7s3.setVisible(true);
}
if (welchezeiles3 == 8 || welchezeiles3 > 8) {
zeile8s3.setVisible(true);
}
if (welchezeiles3 == 9 || welchezeiles3 > 9) {
zeile9s3.setVisible(true);
}
if (welchezeiles3 == 10 || welchezeiles3 > 10) {
zeile10s3.setVisible(true);
}
if (welchezeiles3 == 11 || welchezeiles3 > 11) {
zeile11s3.setVisible(true);
}
if (welchezeiles3 == 12 || welchezeiles3 > 12) {
zeile12s3.setVisible(true);
}
if (welchezeiles3 == 13 || welchezeiles3 > 13) {
zeile13s3.setVisible(true);
}
if (welchezeiles3 == 14 || welchezeiles3 > 14) {
zeile14s3.setVisible(true);
}
if (welchezeiles3 == 15 || welchezeiles3 > 15) {
zeile15s3.setVisible(true);
}
if (welchezeiles3 == 16 || welchezeiles3 > 16) {
zeile16s3.setVisible(true);
}
}
}
});
Vielen Dank für Eure Antworten!