/* * Created on Nov 2, 2005 * * TODO To change the template for this generated file go to * Window - Preferences - Java - Code Style - Code Templates */ package de.tuberlin.polymake.common; import java.awt.Component; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JLabel; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; /** * @author wotzlaw * * TODO To change the template for this generated type comment go to * Window - Preferences - Java - Code Style - Code Templates */ public class JRealitySpinner extends JSpinner implements ActionListener{ protected Box hBox = new Box(BoxLayout.X_AXIS); protected double defaultValue; protected SpinnerNumberModel numModel; protected JLabel label; //protected JButton reset = new JButton("\u25ab"); protected JButton reset = new JButton("reset"); //protected JSpinner spinner; //protected JRealityFrame parent; public JRealitySpinner( String labelText, double defaultValue, double min, double max,double stepsize ) { super(); //this.parent = parent; this.defaultValue = defaultValue; numModel = new SpinnerNumberModel( new Double(defaultValue), new Double(min), new Double(max), new Double(stepsize) ); reset.setMargin(new java.awt.Insets(0,0,0,0)); reset.setPreferredSize( new java.awt.Dimension(20,20) ); reset.setMaximumSize( new java.awt.Dimension(20,20) ); reset.setAlignmentY(Box.CENTER_ALIGNMENT); reset.addActionListener(this); numModel.setValue(new Double(defaultValue)); this.setModel(numModel); //self=new javax.swing.JSpinner(ingr0); this.setPreferredSize( new java.awt.Dimension(60,20) ); this.setMaximumSize( new java.awt.Dimension(60,20) ); this.setBorder( new javax.swing.border.CompoundBorder( new javax.swing.border.EmptyBorder(0,2,0,2), this.getBorder() ) ); //spinner.addChangeListener(this); label = new JLabel(labelText); label.setBorder( new javax.swing.border.EmptyBorder(0,4,0,2) ); hBox.add(label); hBox.add(this); hBox.add(reset); } public void setVisible(boolean vis) { super.setVisible(vis); label.setVisible(vis); reset.setVisible(vis); } public Component getComponent() { return hBox; } /* (non-Javadoc) * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent) */ public void actionPerformed(ActionEvent e) { Object source = e.getSource(); if(source == reset) { numModel.setValue(new Double(defaultValue)); } } }