source: src/main/java/genius/gui/panels/SpinnerToBoundeRangeAdapter.java@ 87

Last change on this file since 87 was 87, checked in by Wouter Pasman, 7 years ago

#28 work around type checking issue with SpinnerModel.

File size: 1.6 KB
Line 
1package genius.gui.panels;
2
3import java.util.LinkedList;
4import java.util.List;
5
6import javax.swing.BoundedRangeModel;
7import javax.swing.SpinnerNumberModel;
8import javax.swing.event.ChangeListener;
9
10public class SpinnerToBoundeRangeAdapter implements BoundedRangeModel {
11
12 private SpinnerNumberModel model;
13 private boolean valueIsAdjusting = false;
14 private List<ChangeListener> listeners = new LinkedList<>();
15
16 public SpinnerToBoundeRangeAdapter(SpinnerNumberModel model) {
17 this.model = model;
18 }
19
20 @Override
21 public int getMinimum() {
22 return ((Double) model.getMinimum()).intValue();
23 }
24
25 @Override
26 public void setMinimum(int newMinimum) {
27 model.setMinimum(newMinimum);
28 }
29
30 @Override
31 public int getMaximum() {
32 return ((Double) model.getMaximum()).intValue();
33 }
34
35 @Override
36 public void setMaximum(int newMaximum) {
37 model.setMaximum(newMaximum);
38
39 }
40
41 @Override
42 public int getValue() {
43 return ((Double) model.getValue()).intValue();
44 }
45
46 @Override
47 public void setValue(int newValue) {
48 model.setValue(newValue);
49 }
50
51 @Override
52 public void setValueIsAdjusting(boolean b) {
53 valueIsAdjusting = b;
54 }
55
56 @Override
57 public boolean getValueIsAdjusting() {
58 return valueIsAdjusting;
59 }
60
61 @Override
62 public int getExtent() {
63 return 0;
64 }
65
66 @Override
67 public void setExtent(int newExtent) {
68 // not supported
69 }
70
71 @Override
72 public void setRangeProperties(int value, int extent, int min, int max,
73 boolean adjusting) {
74 // not supported
75 }
76
77 @Override
78 public void addChangeListener(ChangeListener x) {
79 listeners.add(x);
80 }
81
82 @Override
83 public void removeChangeListener(ChangeListener x) {
84 listeners.remove(x);
85 }
86
87}
Note: See TracBrowser for help on using the repository browser.