Mudar fundo do JTextField

27/02/2010

1

Boa tarde a todos!!   Estou com o seguinte problema e não sei como resolver:   1. Tenho um cadastro de funcionários com vários jtextfields e preciso fazer com que quando o jtextfield estiver como o foco fique com o fundo cinza e quando perder o foco fique com o fundo branco.   Obrigado a todos
Responder

Posts

Boa tarde Samuel,

primeiro me desculpe por este post abaixo que foi pela metada. Ainda não sei como deletá-lo, se souber por favor me diga.

Bem, vamos a resposta:

Adicione o evento FocusListener no edit que deseja alterar a cor. Nesse evento implemente os métodos:

focusGained (ao receber foco) e focusLost (ao perder o foco). Dessa forma o código ficaria:

jTextField1.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTextField1.setBackground(Color.GRAY);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                jTextField1.setBackground(Color.WHITE);
            }
});

Espero ter ajudado.

Abraços, Luciana.
Responder
Luciana, boa noite!!   Mas dessa forma ficaria apenas para jtextfield certo? como fazer com que todos os outros herdem essa caracteristica?   Obrigado, Samuel
Responder
  Bom dia Samuel,
desculpe a demora em retornar.

Você deverá adicionar um evento (actionListener) para cada componente, nesse caso, para cada JTextField.
O que pode ser feito é uma classe que herda o JTextField e implemente o método ActionListener.
E ao invéz de vc adicionar o JTextField comum na sua tela, vc adiciona a classe criada que herda ela. Dessa forma todos os JTextFields possuiriam o mesmo evento.

Pode também ser criado um método, e chamá-lo dentro do action do JTextField.

Espero ter ajudado.
Abraços,
Luciana.
Responder