//constructor
public SpinnerFrame()
{
super(“JSpinner Demonstration”);
//creating the list spinner
createListSpinner();
//creating the number spinner
createNumberSpinner();
//creating the date spinner
createDateSpinner();
//adding Spinners to the frame
this.getContentPane().setLayout(new FlowLayout());
JPanel spinnerPanel = new JPanel(new GridLayout(3, 1, 5, 5));
spinnerPanel.add(m_listSpinner);
spinnerPanel.add(m_numberSpinner);
spinnerPanel.add(m_dateSpinner);
this.getContentPane().add(spinnerPanel);
}
private void createNumberSpinner()
{
//current value
Double current = new Double(5.50);
//Min value
Double min = new Double(0.00);
//Max value
Double max = new Double(10.00);
//Step value
Double step = new Double(0.25);
//creating the number spinner model
m_numberSpinnerModel = new SpinnerNumberModel(current, min, max, step);
//creating the number spinner
m_numberSpinner = new JSpinner(m_numberSpinnerModel);
//current date
Date current = rightNow.getTime();
//Start date, yesterday, same time
rightNow.set(Calendar.HOUR_OF_DAY, -24);
Date start = rightNow.getTime();
//End date, tomorrow, same time
rightNow.set(Calendar.HOUR_OF_DAY, 48);
Date end = rightNow.getTime();
//Step value, in this case Hour
int step = Calendar.HOUR_OF_DAY;
//creating the date spinner model
m_dateSpinnerModel = new SpinnerDateModel(current, start, end, step);
//creating the date spinner
m_dateSpinner = new JSpinner(m_dateSpinnerModel);
}
private void createListSpinner()
{
//Creating ordered sequence list
List sequence = new ArrayList();
sequence.add(new String("I - First"));
sequence.add(new String("II - Second"));
sequence.add(new String("III - Third"));
sequence.add(new String("IV - Fourth"));
sequence.add(new String("V - Fifth"));
sequence.add(new String("VI - Sixth"));
//creating the list spinner model
m_listSpinnerModel = new SpinnerListModel(sequence);
//creating the list spinner
m_listSpinner = new JSpinner(m_listSpinnerModel);
}
public static void main(String argv[])
{
SpinnerFrame spinnerFrame = new SpinnerFrame();
spinnerFrame.setSize(350, 200);
spinnerFrame.setVisible(true);
}
} [/code]
quero adicionar 2 desses spinners, digamos com o valor 10 em cada um. Quando eu incrementar um, quero decrementar o outro (um fica com 11 e o outro com 9).
quero adicionar 2 desses spinners, digamos com o valor 10 em cada um. Quando eu incrementar um, quero decrementar o outro (um fica com 11 e o outro com 9).
Alguem sabe com fazer isso?
VELO[/quote]
um listener para eles resolveria não? Uma idéia seria identificar se foi incremento (X) ou decremento (Y), após isto verificar de qual componente que veio, aí é só um teste de lógica.
Outra alternativa, seria identificar um valor máximo e a cada interação do usuario seria fazer: