hallo,
ich hab ein problem mit dem JSpinner, worüber andere sicher auch schon mal gestolpert sind. und zwar möchte ich NUR die zeit im spinner anzeigen (HH:mm) und beim klicken sollen entsprechend die stunden oder minuten hoch oder runtergezählt werden.
das funktioniert auch soweit, AUSSER wenn ich einen start-wert mitgebe, dann macht der spinner gar nichts mehr. kann mir jemand auf die sprünge helfen? ich habs noch nicht kapiert, warum der JSpinner sich so verhält ...
hier testcode, wo man das problem gleich selbst nachvollziehen kann. der linke spinner funktioniert (er hat keinen start-wert), der rechts funktioniert nicht (start-wert vorhanden).
ich hab ein problem mit dem JSpinner, worüber andere sicher auch schon mal gestolpert sind. und zwar möchte ich NUR die zeit im spinner anzeigen (HH:mm) und beim klicken sollen entsprechend die stunden oder minuten hoch oder runtergezählt werden.
das funktioniert auch soweit, AUSSER wenn ich einen start-wert mitgebe, dann macht der spinner gar nichts mehr. kann mir jemand auf die sprünge helfen? ich habs noch nicht kapiert, warum der JSpinner sich so verhält ...
hier testcode, wo man das problem gleich selbst nachvollziehen kann. der linke spinner funktioniert (er hat keinen start-wert), der rechts funktioniert nicht (start-wert vorhanden).
Code:
import java.awt.BorderLayout;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JSpinner;
import javax.swing.SpinnerDateModel;
public class TestSpinner extends JFrame {
public TestSpinner() {
GregorianCalendar calendar = new GregorianCalendar();
Date now = calendar.getTime();
SpinnerDateModel timeModelOK = new SpinnerDateModel(
now,
null,
null,
Calendar.HOUR_OF_DAY);
JSpinner timeSpinnerOK = new JSpinner(timeModelOK);
timeSpinnerOK.setEditor (new JSpinner.DateEditor(timeSpinnerOK, "HH:mm"));
SpinnerDateModel timeModelERROR = new SpinnerDateModel(
now,
now, // start gesetzt, sonst nichts!!!
null,
Calendar.HOUR_OF_DAY);
JSpinner timeSpinnerERROR = new JSpinner(timeModelERROR);
timeSpinnerERROR.setEditor (new JSpinner.DateEditor(timeSpinnerERROR, "HH:mm"));
JPanel panel = new JPanel();
panel.add(timeSpinnerOK);
panel.add(timeSpinnerERROR);
getContentPane().add(panel, BorderLayout.CENTER);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(300,200);
setLocation(400,100);
setVisible(true);
}
public static void main(String[] args) {
new TestSpinner();
}
}