guia trazendo à frente no JTabbedPane
-
22-07-2019 - |
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
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
}