2009-09-11 4 views
0

J'essaie simplement de trouver la meilleure façon de répliquer une fonctionnalité assez utile de Windows 'Forms.Panel en Java. Fondamentalement, lorsque vous désactivez Windows Forms.Panel, tous les contrôles enfants sont également désactivés. Toutefois, leur propriété activée est préservée de sorte que, lorsque le Panel est à nouveau activé, tout contrôle enfant qui a été désactivé avant que le panneau ne soit désactivé, reste désactivé.Composant de liaison <-> Conteneur (propriété Enabled)

Je peux ajouter un écouteur de propriété pour un JPanel à être déclenché lorsque sa propriété est modifiée, puis faire défiler tous les composants de JPanel et les désactiver, mais cela ne préserve pas les propriétés activées du composant.

Des suggestions?

Répondre

2

Une solution plus complexe peut être trouvée dans l'entrée Disabled Panel. En interne, il utilise une collection suggérée par mlk pour suivre les composants activés. Même si vous n'aimez pas la solution proposée, vous pouvez toujours utiliser la classe Swing Utils pour obtenir facilement tous les composants du panneau.

1

Stockez les composants désactivés dans une collection et vérifiez cette collection lors de leur réactivation.

Questions connexes