20 package net.sf.gridarta.gui.dialog.plugin.parameter;
22 import java.awt.Component;
23 import java.awt.event.ActionEvent;
24 import java.awt.event.ActionListener;
25 import javax.swing.AbstractButton;
26 import javax.swing.JButton;
27 import javax.swing.JComponent;
28 import javax.swing.JOptionPane;
29 import javax.swing.JSpinner;
30 import javax.swing.SpinnerNumberModel;
31 import javax.swing.event.ChangeEvent;
32 import javax.swing.event.ChangeListener;
37 import org.jetbrains.annotations.NotNull;
60 private final AbstractButton
config =
new JButton(
"...");
69 final SpinnerNumberModel model =
new SpinnerNumberModel(0.0, 0.0, 0.0, 0.0);
74 value =
new JSpinner(model);
75 value.addChangeListener(
new ChangeListener() {
78 public void stateChanged(
final ChangeEvent e) {
82 config.setBorderPainted(
false);
83 config.addActionListener(
new ActionListener() {
86 public void actionPerformed(@NotNull
final ActionEvent e) {
87 final String min = JOptionPane.showInputDialog(parent,
"Minimum value:",
parameter.
getMin());
93 min1 = Double.parseDouble(min);
94 }
catch (
final NumberFormatException ignored) {
95 JOptionPane.showMessageDialog(parent,
"Invalid minimum value: " + min);
99 model.setMinimum(min1);
100 model.setStepSize(((Double) model.getMaximum() - min1) / 100.0);
103 final String max = JOptionPane.showInputDialog(parent,
"Maximum value:",
parameter.
getMax());
109 max1 = Double.parseDouble(max);
110 }
catch (
final NumberFormatException ignored) {
111 JOptionPane.showMessageDialog(parent,
"Invalid maximum value: " + max);
115 model.setMaximum(max1);
116 model.setStepSize((max1 - min1) / 100.0);
142 config.setToolTipText(toolTip);
143 value.setToolTipText(toolTip);