2010-08-27 5 views
0

Je travaille sur une application qui, lorsqu'elle est utilisée pour charger un fichier et dessiner les composants contenus, peut entraîner la peinture de composants qui se chevauchent. Par exemple, considérez une grande boîte rectangulaire contenant une ligne de texte à l'intérieur. Maintenant, parce que ces composants se chevauchent, il est difficile pour l'utilisateur de sélectionner la zone de texte interne dans ce cas car il a été chevauché par la boîte rectangle.Gérer les composants qui se chevauchent en java swing

Nous pensions résoudre ce problème en permettant aux utilisateurs de déplacer réellement n'importe quel composant vers une couche inférieure à la couche actuelle. Mais cela a ses propres limites sur le côté de la facilité d'utilisation, car dans ce cas, l'utilisateur devra déplacer le composant le plus grand ou le plus récemment peint vers une couche inférieure, puis effectuer l'autre traitement sur les composants internes comme le glissement etc. peut être plus de 2 composants dans la même position 2d (x & y) dans cette application.

Je suis sûr qu'il devrait y avoir une meilleure solution pour cela et que quelqu'un puisse donner quelques indications sur la partie implémentation.

Répondre

1

Je ne sais pas si je comprends votre question. Avez-vous des problèmes, avec les écouteurs d'action ou à cause du dessin des composants?

Cette How to Use Root Panes peut être utile.

Vous pouvez créer un GlassPane en Java

alt text

alt text

0

Voici un example simple d'un programme de dessin d'objet qui prend en charge cliquer et faire glisser pour plusieurs sélections. Les programmes plus avancés implémentent souvent la fonctionnalité d'ordre z (Move Forward, Move Backward, Move to Front, Move to Back) en réorganisant simplement la liste de nœuds.

En tant qu'alternative à l'approche de la couche stratifiée, considérons également JInternalFrame. Cette example montre How to Use Actions pour gérer un menu à partir duquel les fenêtres cachées peuvent être mises en évidence.

Questions connexes