Bonjour StackOverflow ExpertsSWT TabFolder: Dessin Bizarre Comportement
Description de
J'ai une page SWT avec un TabFolder avec un certain nombre de TabItems créées dynamiquement.
Sur chaque TabItem, créez un Composite et définissez TabItem.setControl() sur l'Composite. J'utilise ensuite ce Composite comme page sur laquelle je dessine mes objets. Je dessine un ensemble de contrôles, y compris des zones de texte et des étiquettes.
Pour la première, onglet Par défaut, cela fonctionne très bien. Pas de problème.
Problème
sur les onglets qui ne sont pas le premier onglet j'ai les problèmes suivants:
- Je ne peux pas changer visuellement puis Edité/état activé de mes commandes.
- Je suis incapable de définir visuellement le texte contenu de mes éléments
Mes contrôles regarder les handicapés et un coup d'oeil grisés.
Mais je suis capable de sélectionner le contenu avec ma souris et utiliser CTRL + C pour le copier. Donc le contet du texte est là et ils sont éditables.
Visuellement, il n'est tout simplement pas mis à jour.
Les commentaires sont appréciés, Toutes les demandes de code, des exemples seront fournis et aider Welcommed.
Mises à jour
J'ai essayé ajouté le suggère la boucle de débogage du code, où je tente de permettre à mes contrôles. Ce fut le résultat:
[principal] INFO [dk.viking.controller.LayerController] - f038.stklok est maintenant éditable [true] et a permis [true]
[principal] INFO [dk. viking.controller.LayerController] - vrai texte {}
[principal] INFO [dk.viking.controller.LayerController] - true composite {}
[principal] INFO [dk.viking.controller.LayerController] - true TabFolder {}
[principal] INFO [dk.viking.controller.LayerController] - shell vrai {Viking GUI}
Mon problème est que je pense que mes contrôles sont en effet modifiables. Je ne pense tout simplement pas que l'interface utilisateur montre ce fait. Je peux marquer le contenu avec ma souris et le copier avec CTRL + C, mais en faisant cela, le contrôle semble toujours désactivé et ne montre jamais le contenu, la souris ou le marquage. C'est simplement, grisé. – JesperGJensen
Ce comportement est le comportement par défaut lorsque vous définissez Editable sur false (la copie fonctionne mais vous ne pouvez pas modifier le texte). Vérifiez qui appelle 'setEditable()'. –
J'ai seulement 1 appel à setEditable (true); dans mon code. Mais ce n'est pas un problème de contenu non éditable. Le contenu n'est pas visible. Je ne vois que l'arrière-plan gris à l'intérieur du TextBox. Il n'y a pas de texte. Le look grisé reste peu importe ce que je fais dans mon code. – JesperGJensen