Question

Lorsque j'utilise setSelectedComponent ou setSelectedIndex sur un objet JTabbedPane , le panneau s'affiche toujours dans mon interface utilisateur. Cependant, l'onglet associé au panneau reste parfois masqué. En d'autres termes, l'onglet ne fait pas défiler jusqu'à une partie visible du volet à onglets.

Comment puis-je résoudre ce problème? J'ai essayé le fromage, sélectionnez un index, puis sélectionnez l'index souhaité, ainsi que plusieurs autres options plus élégantes, mais arrrrgh!

Aidez-moi si vous le pouvez.

Merci, Todd

Était-ce utile?

La solution

Je pense que votre appel n'est pas terminé à l'EDT. Enveloppez-le avec SwingUtilities.invokeLater

Autres conseils

Voici un modèle que vous pouvez utiliser si vous avez une méthode qui modifie les composants swing, ou leurs modèles, et doit donc être appelée sur l'EDT, mais peut être appelée à partir d'un thread en arrière-plan. Cela garantit que func toujours est exécuté sur l'EDT:

void func(final Type1 arg1, final Type2 arg2) {

    if (!SwingUtilities.isEventDispatchThread()) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                func(arg1, arg2);
            }
        });
        return;
    }
    // method code goes here
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top