Seleção substituído pelo formatador
Pergunta
Eu tenho aplicado um Formatter
a um JFormattedTextField
usando um FormatterFactory
, quando um usuário clica no campo de texto eu quero selecionar o conteúdo.
Um ouvinte foco não funciona como esperado porque o formatador é chamado, o que eventualmente faz com que o valor a ser reposto que, em última instância de-seleciona o conteúdo campos. Acho que o que está acontecendo é que, após as alterações de valor, o cursor se move para a posição mais à direita e este desmarca o campo.
Alguém tem qualquer conhecimento de como contornar isso e selecionar o conteúdo campos corretamente?
Solução
Rápido e solução suja é usar EventQueue.invokeLater do seu focusListener.
EventQueue.invokeLater(new Runnable(){
public void run() { yourTextField.selectAll();}
});
Outras dicas
que jdk você está usando? - alguma chance este é um bug nele