JSpinner/getValue

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo,


ich habe einen JSpinner so definiert:

Code:
protected JSpinner uhrzeitBis;

SpinnerDateModel model1 = new SpinnerDateModel();
                uhrzeitBis = new JSpinner(model1);
                JSpinner.DateEditor editor1 = new JSpinner.DateEditor(uhrzeitBis,"HH:mm:ss");
                uhrzeitBis.setEditor(editor1);                
                uhrzeitBis.setBackground(Color.WHITE);
                uhrzeitBis.setBounds(650, randOben*4, 130, 22);

Ich wollte jetzt das, was im JSpinner angezeigt wird (also z.B.: 15:14:31) mit uhrzeitBis.getValue() lesen, leider bekomme ich da folgendes zurück:

Thu Jan 01 15:14:31 CET 1970, ich brauche aber nur das: 15:14:31 (das wird ja auch in JSpinner angezeigt)

Wie kann ich dem JSpinner das erklären, dass ich nur die Uhrzeit brauche oder muss ich wirklich den String parsen (was ich vermeiden will)

Vielleicht gibts einige Anregungen (Lösungen)

herzlichen Dank

lg
 

The_S

Top Contributor
öhm, übergeb den DateEditor doch einen format-String.

[edit] Achso, sorry falsch gelesen. Gibt doch auch genügend Klassen, die das parsen können!
 

PollerJava

Top Contributor
ich dachte mir, es gibt halt beim JSpinner auch irgendwas mit "What you see is what you get"?

Ich muss ja da wieder splitten (split(":");) usw oder gibts da was besseres, kürzeres, schnelleres?

lg
 

The_S

Top Contributor
Date in Timestamp umwandeln Oo? Das ist ja so ziemlich das Letze, was ich damit machen würde.

Wenn du es nur ausgeben (und nicht damit rechnen oder sonstiges machen) möchtest: SimpleDateFormat#format

Wenn die Daten später noch manipulieren möchtest: GregorianCalendar#setTimeInMillis und dann über die getter + Parameter die Werte abfragen.

[edit] Zu deinem nächsten Prob: Versuchs mal mit SSSS. Wenn das nicht geht, dann gehts (imho) nicht ;)
 

PollerJava

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
Date in Timestamp umwandeln Oo? Das ist ja so ziemlich das Letze, was ich damit machen würde.

Wenn du es nur ausgeben (und nicht damit rechnen oder sonstiges machen) möchtest: SimpleDateFormat#format

Wenn die Daten später noch manipulieren möchtest: GregorianCalendar#setTimeInMillis und dann über die getter + Parameter die Werte abfragen.

[edit] Zu deinem nächsten Prob: Versuchs mal mit SSSS. Wenn das nicht geht, dann gehts (imho) nicht ;)

Ich brauche das ganze für eine DatenBankAbfrage, da macht das Umwandeln von Date in TimeStamp duchraus sinn, finde ich !!

lg
 

PollerJava

Top Contributor
ssss geht nicht, das sind ja schon die sekunden!!

Das muss ja irgendwie gehen, in der DatenBank habe ich ja auch "hh:mm:ss.xxxx", die würd ich ja auch unbedingt benötigen..
 

The_S

Top Contributor
Wenn du die Uhrzeit darstellen willst, macht es nicht Sinn ein Timestamp zu verwenden. Und wenn du genauer lesen würdest, würdest du auch wissen, dass ich dir nicht empfohlen habe ssss zu schreiben!
 

PollerJava

Top Contributor
Ja, schlechte Zeit, viel Stress, übermüdet, unterbezahlt usw, ich hab die s groß geschrieben und es geht -> vielen DANK!!!


lg
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben