Frage

Wenn ich setSelectedComponent oder setSelectedIndex auf einem JTabbedPane-Objekt verwenden, kommt die Platte immer in meinem UI auf. Aber manchmal die Lasche mit dem Panel verbunden ist verborgen bleibt. Mit anderen Worten, die Registerkarte nicht auf einen sichtbaren Teil des Registerteilfenster scrollen.

Wie kann ich dieses Problem beheben? Ich habe versucht, einen Index der käsig wählen, dann gewünschten Index wählen, sowie mehrere andere elegantere Dinge, aber Arrrrgh !!

Hilf mir,

, wenn Sie können.

Danke, Todd

War es hilfreich?

Lösung

Ich denke, Ihr Anruf nicht auf EDT erfolgt. Wickeln Sie es mit SwingUtilities.invokeLater

Andere Tipps

Hier ist ein Rüttler Sie verwenden können, wenn Sie eine Methode, die Swing-Komponenten verändert, oder ihre Modelle und so muss auf dem EDT aufgerufen werden, sondern können aus einem Hintergrund-Thread aufgerufen werden. Dadurch wird sichergestellt, func immer läuft auf dem 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
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top