Comment fait on , quand tous les éléments d'un panel ont attrapé le focus, pour que ce panel perde le focus et que un autre panel le récupère???
Comment fait on , quand tous les éléments d'un panel ont attrapé le focus, pour que ce panel perde le focus et que un autre panel le récupère???
tu joues avec les methodes :
setFocusable();
requestFocus() du panel qui doit recuperer le focus.
ok mais est ce que tu peu me donner rapidement un exemple de comment on joue avec ces méthode ?
par exemple on a dans un premier fichier
et le second fichier
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 public class PanelFocusable1 extends JPanel { public class PanelFocusable() { super(); JButton bout = new Boutton("test"); bout.addActionPerformed(new ActionEvent(){ public void actionPerformed(Event e) { construitEtAfficheSecondPanel(); //construit et affiche un second panel. } }); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 public class SecondPanelFocusable extends JPanel { public SecondPanelFocusable() { super(); this.setVisible(true); // contient un certain nombre de composant focusable aussi } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 public class SecondPanelFocusable extends JPanel { public SecondPanelFocusable() { super(); this.setFocusable(true); this.setVisible(true); this.requestFocus(); // contient un certain nombre de composant focusable aussi } }
mais ca na marche pas.
Car une fois que le focus est sur le second panel, et bien le fait de taper sur tab, fait tourner le focus sur les différents composants (en cycle), mais ne repasse jamais sur le premier panel. Comment je doit faire?
Bonjour,
Une solution pourrai etre de mettre un keylistener sur ton dernier element et en validant cette élément avec entrée ou tab ton focus va sur l'autre panel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 tonElement.addKeyListener(new KeyAdapter(){ public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ENTER){//si tu tapes sur entrée tonPanel.requestFocus();//ton focus va sur l'autre panel } } });
Partager