Hi ich verwende einen JSpinner.
Dieser JSpinner hat einen ChangeListener.
Der ChangeListener wird jedes mal ausgelöst, sobald
sich der Wert im JSpinner ändert.
Zusätzlich habe ich einen JButton.
Der JButton hat einen ActionListener.
Dieser wird bei jedem betätigen des Buttons ausgelöst.
Im ActionListener steht ein Befehl der den Wert des
JSpinners auf 11 setzt.
War der Wert im JSpinner vorher nicht 11 so wird nach dem
Betätigen des JButtons der ChangeListener des JSpinner
aufgerufen. War der Wert im JSpinner aber vorher bereits 11
so wird der ChangeListener nicht aufgerufen.
Frage: Wie schaffe ich es, dass der ChangeListener dennoch
aufgerufen wird auch wenn der Wert im JSpinner vorher 11 war?
Dieser JSpinner hat einen ChangeListener.
Der ChangeListener wird jedes mal ausgelöst, sobald
sich der Wert im JSpinner ändert.
Zusätzlich habe ich einen JButton.
Der JButton hat einen ActionListener.
Dieser wird bei jedem betätigen des Buttons ausgelöst.
Im ActionListener steht ein Befehl der den Wert des
JSpinners auf 11 setzt.
War der Wert im JSpinner vorher nicht 11 so wird nach dem
Betätigen des JButtons der ChangeListener des JSpinner
aufgerufen. War der Wert im JSpinner aber vorher bereits 11
so wird der ChangeListener nicht aufgerufen.
Frage: Wie schaffe ich es, dass der ChangeListener dennoch
aufgerufen wird auch wenn der Wert im JSpinner vorher 11 war?
Java:
public class MyFrame extends JFrame
{
private JSpinner spinner;
public MyFrame()
{
super();
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.setLayout(new FlowLayout());
Container contentPane = this.getContentPane();
SpinnerModel model = new SpinnerNumberModel(0, 0, 100, 1);
spinner = new JSpinner(model);
spinner.addChangeListener(new ChangeListener(){
@Override
public void stateChanged(ChangeEvent arg0) {
System.out.println("Change Listener");
}});
JButton button = new JButton("Button");
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent arg0) {
spinner.setValue(new Integer(11));
}});
contentPane.add(spinner);
contentPane.add(button);
this.setSize(500, 400);
this.setVisible(true);
}
}