Bonjour,

Voici mon problème:
J'ai deux composants un JSpinner et un JTextField. je veux que la valeur de spinner change quand celle du textField changeET vice-versa.

Pour voir mieux le problème voici un simple code.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.awt.BorderLayout;

import javax.swing.*;
import javax.swing.event.*;

public class Test extends JFrame implements ChangeListener, DocumentListener{
    
    private JSpinner spinner;
    private JTextField textField;
    
   public Test() {
        setBounds(100,100,300,200);
        createComponets();
        addComponents();
    }
    
/*************************  Création et ajout des composants ***********************************/
    
    private void createComponets() {
        spinner = new JSpinner();
        spinner.addChangeListener(this);
        
        textField = new JTextField();
        textField.getDocument().addDocumentListener(this);
    }

    private void addComponents() {
        getContentPane().add(spinner, BorderLayout.NORTH);
        getContentPane().add(textField, BorderLayout.SOUTH);
    }
    
/*****************       ChangeListner pour spinner      **********************************/
 
    @Override
    public void stateChanged(ChangeEvent e) {
        //Si on change la valeur de spinner changer la valeur de textField
        textField.setText("spinner_1");
    }

/*****************       DocumentListener pour textField      *******************************/
    @Override
    public void changedUpdate(DocumentEvent e) {
        //Si on change la valeur textField change la valeur de spinner
        spinner.setValue(2);
    }

    @Override
    public void insertUpdate(DocumentEvent e) {
      //Si on change la valeur textField changer la valeur de spinner
        spinner.setValue(2);
    }

    @Override
    public void removeUpdate(DocumentEvent e) {
        //Si on change la valeur textField changer la valeur de spinner
        spinner.setValue(2);
    }

/*********************        Main pour le teste        *************************************/      
    public static void main(String[] args) {
        try {
            String  systemLF= UIManager.getSystemLookAndFeelClassName();
            UIManager.setLookAndFeel(systemLF); 
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        
        Test frame=new Test();
        
        frame.setVisible(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }
}
existe-il une solution ou une technique de programmation à ce problème? Merci d'avance