Bonjour !
Mon problème est le suivant.
Je créer un KeyListener sur un bouton que je créer à la chaine a partir d'une lecture XML.
Mais je n'arrive pas à partir du KeyAdapter à accéder à la variable de ce bouton!
Je m'explique avec du code, ce sera plus simple:
Ce que je veux faire :
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 private void initialize() { frame = new JFrame(); frame.setBounds(100, 100, 283, 418); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.getContentPane().setLayout(new GridLayout(4, 1, 5, 5)); for (Map.Entry<String, String> entry : config.getMapConfig().entrySet()) { JPanel tPanel = new JPanel(); frame.getContentPane().add(tPanel); tPanel.setLayout(new GridLayout(0, 2, 5, 5)); JLabel tLabel = new JLabel(entry.getKey()); tPanel.add(tLabel); JTextField tTextField = new JTextField(); tTextField.setText(entry.getValue()); tPanel.add(tTextField); tTextField.setColumns(10); tTextField.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent arg0) { System.out.println("COUCOU"); } }); } frame.setVisible(true); }
Donc voilà, comment récupérer le tTextField.getText() depuis ce KeyAdapter ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 JTextField tTextField = new JTextField(); tTextField.setText(entry.getValue()); tPanel.add(tTextField); tTextField.setColumns(10); tTextField.addKeyListener(new KeyAdapter() { @Override public void keyReleased(KeyEvent arg0) { System.out.println(tTextField.getText()); } });
La seule solution est de faire un Field et de faire un ConfigUI.this.field_tTextField.getText() ?
Ou une solution plus "courte" ou ingénieuse est possible ?
Partager