Como deixar selecionado o conteudo de um componente GUI?

8 respostas
Rodrigo_Vieira_Pinto

Olá pessoal!!
Alguém sabe como deixar pintado o conteúdo de um componente (tipo, como se tivesse passado o mouse por cima para apagar)?
Outra coisa: para acessar esse componente deve - se apenas usar TAB e nunca o mouse.
Assim: a cada tab dado, o cursor passa nos componentes. E em cada um que ele passar, deve pintar o conteúdo (para quando a pessoa escrever, o conteudo sumir).
Alguém sabe?
Valeu!!!

8 Respostas

paulohbmetal

hein?! :?

A Paz!!

marcioa1

Acho que nosso amigo está nos falando em como deixar selecionado o conteúdo de um textField, de forma que qualquer caracter escrito apagará o conteúdo anterior.

É isto Rodrigo ?

Márcio

Rodrigo_Vieira_Pinto

Vou dar um exemplo:
Vamos supor que eu tenha 2 JTextFields. Um embaixo do outro.
Quando quero passar de um para o outro, só poderei usar TAB e nunca o mouse.
Quando eu estiver com o cursor (não é o mouse, é o cursorzinho que fica piscando) em um JTextField, ele deve selecionar o que estiver escrito nele. Então, se o usuário tentar escrever alguma coisa, o conteúdo se apaga e entre o que o usuário digitou.
Acho que agora ficou mais fácil :wink: :lol:

Rodrigo_Vieira_Pinto

é isso mesmo márcio!!!
Como faço???

marcioa1

Rodrigo,

Para selecionar, tem dois métodos que devem ser aplicados no evento do ganho do foco

jTextField.addFocusListener(new java.awt.event.FocusAdapter() { public void focusGained(java.awt.event.FocusEvent e) { System.out.println("focusGained()"); // TODO Auto-generated Event stub focusGained() } });

que são : setSelectionStart() e setSelectionEnd()

Agora, quanto a inibir o mouse, não sei se tem jeito.

Márcio

Rodrigo_Vieira_Pinto

Blz márcio, vou tentar!!
Agora, quanto ao mouse, não vou inibir ele não. Mas eu precisava desta funcionalidade no sistema. Justamente para não usar o mouse, mas se o usuário quiser usar, sem problemas.
Vou tentar, depois posto se funcionou!!
Valeu!!

Rodrigo_Vieira_Pinto

Márcio, consegui que aparecesse uma mensagem quando se obtém o foco do componente, mas falta selecionar o seu conteúdo. Ou seja, falta pintar o que está dentro do componente, como se tivesse clicado com o mouse e selecionado o seu conteúdo. Daí é só escrever que automaticamente apaga o que estava escrito.
quem puder ajudar agradeço!!

Rodrigo_Vieira_Pinto

Resolvi!
é só fazer assim:

para selecionar tudo do textfield, coloque esta linha dentro de um método focusGained(FocusEvent e)
textField.selectAll();

e colocar a interface FocusListener. Não esqueça de usar também o método focusLost, pois a interface pede.

Valeu galera!!!

Criado 7 de junho de 2005
Ultima resposta 7 de jun. de 2005
Respostas 8
Participantes 3