Bonjour à tous,
Mettons nous en situation.
J'ai développé un applet pour contrôler un automate. Cet applet ce divise en 2 partie: un menu horizontal et une zone d'affichage.
Ce menu horizontal est composé de JButton et le tout est implémenté dans un JPanel.
La zone d'affichage est un JPanel alimenté dynamiquement.
Passons au problème
Dans mon menu, j'ai essayé d'ajouter un sous menu qui apparait/disparait dynamiquement en fonction du passage de la souris.
Figurez vous que cela fonctionne, enfin dans le principe car j'ai un souci d'affichage.
Lorsque je clique sur mon JButton voulu, mon JPanel(sous menu) apprait rapidement puis disparait - comme un flash. Pour l'afficher, je dois passer ma souris sur le JPanel( sous menu).
Je vous met ci dessous le code d'ajout de l'ensemble à l'applet:
et voici mon MouseListener:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 add(panelBandeau, BorderLayout.NORTH, 0); add(CONTENEUR, BorderLayout.CENTER, 1); add(panelSousMenuSecu, BorderLayout.WEST, 2); add(panelSousMenuSurv, BorderLayout.EAST, 2);
Sachez tout de meme que j'ai un ActionListener qui permet d'enlever les sous menu lorsqu'on y clique: histoire d'être certain que les sous menu disparaitront.
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 public void mouseEntered(MouseEvent e) { //Détection de l'event Object source = e.getSource(); if ((source == buttonAccueil) || (source == buttonArrosage) || (source == buttonChauffage) || (source == buttonEclairage) || (source == buttonLogTrend) || (source == buttonPiscine)) { panelSousMenuSecu.setVisible(false); panelSousMenuSecu.validate(); panelSousMenuSurv.setVisible(false); panelSousMenuSurv.validate(); } } public void mouseExited(MouseEvent e) { Object source = e.getSource(); if (source == panelSousMenuSecu) { panelSousMenuSecu.setVisible(false); panelSousMenuSecu.validate(); } if (source == panelSousMenuSurv) { panelSousMenuSurv.setVisible(false); panelSousMenuSurv.validate(); } }
Si Quelqu'un aurait une idée.
Ah oui j'allais oublié. Est ce que vous pouvez me conseiller sur le Layout à utiliser pour faire ceci?
Actuellement, mon applet est en BorderLayout et je suis obligé d'ajouter les composants tel qu'au dessus.
Cordialement,
MustOne







Répondre avec citation

Partager