Pergunta

Quando eu uso setSelectedComponent ou setSelectedIndex em um objeto JTabbedPane, o painel sempre aparece na minha interface do usuário. No entanto, por vezes, o guia associada com os restos painel escondido. Em outras palavras, a guia não vá até uma parte visível do painel com abas.

Como posso corrigir isso? Eu tentei o queijo selecionar um índice, em seguida, selecione índice desejado, bem como várias outras coisas mais elegantes, mas arrrrgh !!

Ajuda-me se puder.

Obrigado, Todd

Foi útil?

Solução

Eu penso que a sua chamada não é feito no EDT. Envolvê-lo com SwingUtilities.invokeLater

Outras dicas

Aqui está uma patter você pode usar se você tem um método que altera balançar componentes, ou os seus modelos e assim deve ser chamado no EDT, mas pode ser chamado a partir de uma discussão de fundo. Isso garante func sempre é executado no 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
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top