Probleme d'affichage/de superposition
Bonjour à tous,
Mettons nous en situation. :D
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 :roll:
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:
Code:
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); |
et voici mon MouseListener:
Code:
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();
}
} |
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.
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