summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/changemonitor/TimeSpinnerWrapper.java
blob: ecb6e50c024192863f1d6686e3452d54da0afec2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
package org.openslx.dozmod.gui.changemonitor;

import java.text.SimpleDateFormat;
import java.util.Date;

import javax.swing.JSpinner;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

import org.openslx.dozmod.gui.changemonitor.DialogChangeMonitor.ValidationConstraint;

class TimeSpinnerWrapper extends AbstractControlWrapper<Object> {
	
	private static final SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("k:m");
	
	private final JSpinner component;
	
	public TimeSpinnerWrapper(DialogChangeMonitor dcm, JSpinner picker, ValidationConstraint<Object> constr, String errorMessage) {
		super(dcm, errorMessage, null, constr);
		this.component = picker;

		picker.addChangeListener(new ChangeListener() {
			public void stateChanged(ChangeEvent e) {
				contentChanged();
			}
		});
	}

	Object getCurrentValue() {
		Object value = this.component.getValue();
		if (value instanceof Date) {
			return TIME_FORMAT.format(value);
		}
		return value;
	}
}