// GraphTea Project: http://github.com/graphtheorysoftware/GraphTea // Copyright (C) 2012 Graph Theory Software Foundation: http://GraphTheorySoftware.com // Copyright (C) 2008 Mathematical Science Department of Sharif University of Technology // Distributed under the terms of the GNU General Public License (GPL): http://www.gnu.org/licenses/ package graphtea.ui.components.utils; import graphtea.platform.lang.BoundedInteger; import javax.swing.*; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; /** * @author azin azadi */ public class LabledSlider extends JComponent implements ChangeListener { /** * */ private static final long serialVersionUID = -8976402299284319256L; JSlider slider; private JLabel label; public JSlider getSlider() { return slider; } public LabledSlider(BoundedInteger value) { slider = new JSlider(JSlider.HORIZONTAL, value.getMin(), value.getMax(), value.getValue()); slider.setOpaque(false); label = new JLabel(); updateLabel(); slider.addChangeListener(this); initComponents(); validate(); } private void initComponents() { java.awt.GridBagConstraints gridBagConstraints; setLayout(new java.awt.GridBagLayout()); label.setLabelFor(slider); add(label, new java.awt.GridBagConstraints()); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.weightx = 1.0; add(slider, gridBagConstraints); } public void stateChanged(ChangeEvent e) { updateLabel(); } private void updateLabel() { label.setText(slider.getValue() + ""); } }