Servus zusammen. Ich bin grade eine SWING Gui zu "basteln" und habe ein kleines Problem mit einer jList. die jList zeit nur einen Wert auf einmal an. Ist also einzeilig dargestellt.
Die Liste soll Arbeitszeiten in 15 Minuten Abständen anzeigen. Also 0:00, 0:15, 0:30 ...
Dann bekomme ich einen Minutenwert (int) z.B. 93
Ich berechne nun um, auf welches Feld die Auswahl springen soll. Die Auswahl wird auch getroffen,.. das Feld ist markiert; aber die List stet noch ganz oben auf dem ersten Eintrag (0:00). Gehe ich dann manuell runter sehe ich, dass das Feld 1:30 markiert ist.
Wie kann ich es nun einstellen, dass automatisch auf die Markierung runtergescrollt wird?
Mein Code:
Meine Konsolenausgabe ist folgende:
Wenn ich in Zeile 14 "value" mit "1:30" austausche wird auch automatisch runtergescrollt,... ich versteh nicht so ganz, warum der das nicht auch mit der variable value macht. Value hat immerhin hargenau den gleichen wert.
Ich bin langsam am verzeweifeln *g*
Die Liste soll Arbeitszeiten in 15 Minuten Abständen anzeigen. Also 0:00, 0:15, 0:30 ...
Dann bekomme ich einen Minutenwert (int) z.B. 93
Ich berechne nun um, auf welches Feld die Auswahl springen soll. Die Auswahl wird auch getroffen,.. das Feld ist markiert; aber die List stet noch ganz oben auf dem ersten Eintrag (0:00). Gehe ich dann manuell runter sehe ich, dass das Feld 1:30 markiert ist.
Wie kann ich es nun einstellen, dass automatisch auf die Markierung runtergescrollt wird?
Mein Code:
Code:
String[] listitems = {"0:00", "0:15", "0:30", "0:45", "1:00", "1:15", "1:30", "1:45", "2:00"};
this.listZeitenOptionenBearbeitungszeit.setListData(listitems);
//bearbeitungszeit = 92 (für dieses beispiel)
int bearbeitungszeit = Integer.parseInt(hash.get("bearbeitungszeit").toString());
int selectedItem = 0;
String value = "";
while((bearbeitungszeit - 15) > -15)
{
bearbeitungszeit -= 15;
selectedItem = this.listZeitenOptionenBearbeitungszeit.getSelectedIndex();
selectedItem++;
this.listZeitenOptionenBearbeitungszeit.setSelectedIndex(selectedItem);
value = this.listZeitenOptionenBearbeitungszeit.getSelectedValue().toString();
this.listZeitenOptionenBearbeitungszeit.setSelectedValue(value, true);
System.out.println("value: " + value + " Bearbeitungszeit original: " +
hash.get("bearbeitungszeit").toString() + " jetzt: " + bearbeitungszeit + " listobject: " +
this.listZeitenOptionenBearbeitungszeit.getSelectedIndex());
}
Meine Konsolenausgabe ist folgende:
Code:
value: 0:00 Bearbeitungszeit original: 92 jetzt: 77 listobject: 0
value: 0:15 Bearbeitungszeit original: 92 jetzt: 62 listobject: 1
value: 0:30 Bearbeitungszeit original: 92 jetzt: 47 listobject: 2
value: 0:45 Bearbeitungszeit original: 92 jetzt: 32 listobject: 3
value: 1:00 Bearbeitungszeit original: 92 jetzt: 17 listobject: 4
value: 1:15 Bearbeitungszeit original: 92 jetzt: 2 listobject: 5
value: 1:30 Bearbeitungszeit original: 92 jetzt: -13 listobject: 6
Wenn ich in Zeile 14 "value" mit "1:30" austausche wird auch automatisch runtergescrollt,... ich versteh nicht so ganz, warum der das nicht auch mit der variable value macht. Value hat immerhin hargenau den gleichen wert.
Ich bin langsam am verzeweifeln *g*