1 | package genius.gui.panels;
|
---|
2 |
|
---|
3 | import java.awt.BorderLayout;
|
---|
4 | import java.awt.Dimension;
|
---|
5 |
|
---|
6 | import javax.swing.JLabel;
|
---|
7 | import javax.swing.JPanel;
|
---|
8 | import javax.swing.JSlider;
|
---|
9 | import javax.swing.JSpinner;
|
---|
10 |
|
---|
11 | /**
|
---|
12 | * Shows slider plus spinner with optional ticks, optionally logarithmic, and
|
---|
13 | * optionally with percentages
|
---|
14 | *
|
---|
15 | */
|
---|
16 | @SuppressWarnings("serial")
|
---|
17 | public class SliderPanel extends JPanel {
|
---|
18 | private JSlider slider;
|
---|
19 |
|
---|
20 | public SliderPanel(String name, IntegerModel model) {
|
---|
21 | setLayout(new BorderLayout());
|
---|
22 | add(new JLabel(name), BorderLayout.WEST);
|
---|
23 |
|
---|
24 | slider = new JSlider(new SpinnerToBoundeRangeAdapter(model));
|
---|
25 | add(slider, BorderLayout.CENTER);
|
---|
26 | JSpinner spinner = new JSpinner(model.getSpinnerModel());
|
---|
27 | spinner.setMaximumSize(new Dimension(300, 30));
|
---|
28 | add(spinner, BorderLayout.EAST);
|
---|
29 | }
|
---|
30 |
|
---|
31 | /**
|
---|
32 | *
|
---|
33 | * @return the slider part. Used for testing, you should not need this and
|
---|
34 | * communicate through the model you provided.
|
---|
35 | */
|
---|
36 | public JSlider getSlider() {
|
---|
37 | return slider;
|
---|
38 | }
|
---|
39 |
|
---|
40 | }
|
---|