Problème de retour JSpinner
Bonjour,
J'ai un JSpinner pour choisir le temps d'une partie dans un de mes projets.
J'aimerais récupérer la valeur selectionnée du JSpinner. cependant, je n'y arrive pas. Voici ma classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
public class PanelTemps extends JPanel implements ActionListener
{
//Spinner
String[] temps = {"1 minute","2 minutes","3 minutes","5 minutes","10 minutes","15 minutes","20 minutes","30 minutes"};
SpinnerModel model = new SpinnerListModel(temps);
JSpinner spinner = new JSpinner(model);
public PanelTemps()
{
super(new BorderLayout());
String[] tempsStrings = {"Temps infini","Minutes par partie"};
// Les indices commencent à 0, jusqu'à 1 maintenantcar il n'y a que 2options dans le combobox
JComboBox tempsList = new JComboBox(tempsStrings);
tempsList.setSelectedIndex(1);
tempsList.addActionListener(this);
// JSpinner
spinner.setValue("10 minutes"); // Valeur initiale
spinner.addChangeListener(listener);
// Position du combobox et du JSpinner
add(spinner, BorderLayout.CENTER);
add(tempsList, BorderLayout.AFTER_LAST_LINE);
}
public void actionPerformed(ActionEvent e)
{
JComboBox cb = (JComboBox)e.getSource();
String tempsName = (String)cb.getSelectedItem();
if(tempsName == "Minutes par partie")
{
spinner.setEnabled(true);
System.out.println("Minutes par partie selectionné");
}
if(tempsName == "Temps infini")
{
spinner.setEnabled(false);
System.out.println("Temps infini selectionné");
}
}
ChangeListener listener = new ChangeListener()
{
public void stateChanged(ChangeEvent e)
{
System.out.println("Source :"+e.getSource());
}
};
} |
Lorsque je demande de m'afficher la source du JSpinner, j'obtiens cette ligne :
Source :javax.swing.JSpinner[,0,0,147x20,invalid,layout=javax.swing.plaf.basic.BasicSpinnerUI$Handler,alignmentX=0.0,alignmentY=0.0,border=javax.swing.plaf.BorderUIResource$CompoundBorderUIResource@196f4b5,flags=16777544,maximumSize=,minimumSize=,preferredSize=]
Quoi que je choisisse dans mon JSpinner, j'obtiens toujours cette ligne et je n'arrive pas à récupérer la source.
Merci d'avance pour vos réponses. A+