package genius.gui.panels; import java.awt.BorderLayout; import java.awt.Dimension; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.JSpinner; /** * Shows slider plus spinner with optional ticks, optionally logarithmic, and * optionally with percentages * */ @SuppressWarnings("serial") public class SliderPanel extends JPanel { private JSlider slider; public SliderPanel(String name, IntegerModel model) { setLayout(new BorderLayout()); add(new JLabel(name), BorderLayout.WEST); slider = new JSlider(new IntegerToBoundeRangeAdapter(model)); add(slider, BorderLayout.CENTER); JSpinner spinner = new JSpinner(model.getSpinnerModel()); spinner.setMaximumSize(new Dimension(300, 30)); add(spinner, BorderLayout.EAST); } /** * * @return the slider part. Used for testing, you should not need this and * communicate through the model you provided. */ public JSlider getSlider() { return slider; } }