Hallo zusammen,
ich stehe seit Stunden komplett auf dem Schlauch. Irgendwie seh ich den Wald vor lauter Bäumen nicht mehr.
Bevor ich meinen Code poste, erkläre ich kurz, worum es genau geht.
Wie auf dem Bild zu sehen ist, kann man in dieser Maske Flüge anlegen.
Beim Klick auf Speichern müssen gewisse Dinge geprüft werden:
- Alle ComboBoxes müssen ausgewählt sein (Also nicht auf "Bitte auswählen")
- Abflughafen und Zielflughafen dürfen nicht gleich sein
- Ist der Abflugzeitpunkt (Auswahl zwischen Montag - Sonntag) gleich dem Ankunftszeitpunkt, darf die Abfluguhrzeit nicht vor der Ankunftsuhrzeit liegen.
Da ich die Werte des Spinners als String (HH:mm) zurückgegeben werden, prüfe ich nach der Trennung und zu int-Umwandlug der Zeit:
- Ob die Abflugstunde gleich der Ankunftsstunde ist.
- Sind sie gleich, wird geprüft, ob die Abflugminuten <= Ankunftsminuten.
Sind all diese Dinge nicht erfüllt, kann der Flug angelegt werden.
Hier mein Code dazu (befindet sich in einem ActionListener):
Vielen Dank schonmal!
ich stehe seit Stunden komplett auf dem Schlauch. Irgendwie seh ich den Wald vor lauter Bäumen nicht mehr.
Bevor ich meinen Code poste, erkläre ich kurz, worum es genau geht.
Wie auf dem Bild zu sehen ist, kann man in dieser Maske Flüge anlegen.
Beim Klick auf Speichern müssen gewisse Dinge geprüft werden:
- Alle ComboBoxes müssen ausgewählt sein (Also nicht auf "Bitte auswählen")
- Abflughafen und Zielflughafen dürfen nicht gleich sein
- Ist der Abflugzeitpunkt (Auswahl zwischen Montag - Sonntag) gleich dem Ankunftszeitpunkt, darf die Abfluguhrzeit nicht vor der Ankunftsuhrzeit liegen.
Da ich die Werte des Spinners als String (HH:mm) zurückgegeben werden, prüfe ich nach der Trennung und zu int-Umwandlug der Zeit:
- Ob die Abflugstunde gleich der Ankunftsstunde ist.
- Sind sie gleich, wird geprüft, ob die Abflugminuten <= Ankunftsminuten.
Sind all diese Dinge nicht erfüllt, kann der Flug angelegt werden.
Hier mein Code dazu (befindet sich in einem ActionListener):
Java:
button_Speichern.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if ((ComboBox1.getSelectedItem()=="Bitte auswählen: ") ||
(ComboBox2.getSelectedItem()=="Bitte auswählen: ") ||
(ComboBox3.getSelectedItem()=="Bitte auswählen: ") ||
(ComboBox4.getSelectedItem()=="Bitte auswählen: ") ||
(ComboBox5.getSelectedItem()=="Bitte auswählen: "))
JOptionPane.showMessageDialog(null, "Bitte alle Felder ausfüllen!");
else
if (ComboBox3.getSelectedItem()==ComboBox4.getSelectedItem())
JOptionPane.showMessageDialog(null, "Start- und Zielflughafen gleich!");
else
if (ComboBox1.getSelectedItem()==ComboBox2.getSelectedItem())
if (Integer.parseInt(new SimpleDateFormat( "HH" ).format( ankunftsSpinner.getDate()))
<Integer.parseInt(new SimpleDateFormat( "HH" ).format( abflugSpinner.getDate())))
JOptionPane.showMessageDialog(null, "Ankunftszeitpunkt darf nicht vor Abflugzeitpunkt liegen!");
else
if (Integer.parseInt(new SimpleDateFormat( "HH" ).format( ankunftsSpinner.getDate()))
==Integer.parseInt(new SimpleDateFormat( "HH" ).format( abflugSpinner.getDate())))
if (Integer.parseInt(new SimpleDateFormat( "mm" ).format( ankunftsSpinner.getDate()))
<Integer.parseInt(new SimpleDateFormat( "mm" ).format( abflugSpinner.getDate())))
JOptionPane.showMessageDialog(null, "Ankunftszeitpunkt darf nicht vor Abflugzeitpunkt liegen!");
else
JOptionPane.showMessageDialog(null, "Flug angelegt");
System.out.println("Abflugzeitpunkt: " + ComboBox1.getSelectedItem() + " "
+ new SimpleDateFormat( "HH:mm" ).format( abflugSpinner.getDate())+ " Uhr");
System.out.println("Ankunftstpunkt: " + ComboBox2.getSelectedItem() + " "
+ new SimpleDateFormat( "HH:mm" ).format( ankunftsSpinner.getDate()) + " Uhr");
System.out.println("Abflughafen: " + ComboBox3.getSelectedItem());
System.out.println("Zielflughafen: " + ComboBox4.getSelectedItem());
System.out.println("Fluglinie: " + ComboBox5.getSelectedItem());
}});
Vielen Dank schonmal!