Efeito de cor no textfield

olá pessoal,
coloquei estes códigos para uma textfield ficou legal…
mas tenho q fazer isso em todas as minhas textfields do frame ou tem uma forma de ulizar para todas???

[code] private void jTextField6FocusLost(java.awt.event.FocusEvent evt) {
jTextField6.setBackground(new java.awt.Color(102, 204, 154));
}

private void jTextField6FocusGained(java.awt.event.FocusEvent evt) {                                        
  jTextField6.setBackground(new java.awt.Color(255, 255, 255));
}                                       

private void jTextField6MouseExited(java.awt.event.MouseEvent evt) {                                        
   if(!jTextField6.hasFocus()){
    jTextField6.setBackground(new java.awt.Color(102, 204, 154));   
   }        
}                                       

private void jTextField6MouseEntered(java.awt.event.MouseEvent evt) {                                         
    jTextField6.setBackground(new java.awt.Color(255, 255, 255));
}[/code]

Você pode trocar todas as JTextFields que você deseja ver esse efeito por instâncias de uma classe que derive de JTextField e que tenha esses tratamentos já efetuados.

Outra forma é criar uma classe separada, que implemente FocusListener e MouseListener, e que processe os eventos (checando o parâmetro evt, cujo método getSource() pode lhe retornar o JTextField que pode ser processado), e fazer as suas JTextFields adicionarem os listeners para uma instância dessa classe.

[quote=thingol]Você pode trocar todas as JTextFields que você deseja ver esse efeito por instâncias de uma classe que derive de JTextField e que tenha esses tratamentos já efetuados.

Outra forma é criar uma classe separada, que implemente FocusListener e MouseListener, e que processe os eventos (checando o parâmetro evt, cujo método getSource() pode lhe retornar o JTextField que pode ser processado), e fazer as suas JTextFields adicionarem os listeners para uma instância dessa classe. [/quote]

Cara tem como vc fazer um exemplo de uma classe que faça isso :?:
Como pode ver estou começando no java, e pra mim tudo é mais complicado :oops:
tendo um exemplo basico, eu ja me viro!!!

import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

import javax.swing.JTextField;


public class Pintor implements MouseListener, FocusListener {

	/**
	 * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent)
	 */
	public void mouseClicked(MouseEvent pE) {

	}

	/**
	 * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent)
	 */
	public void mouseEntered(MouseEvent pE) {
		if (pE.getSource() instanceof JTextField)
			((JTextField) pE.getSource()).setBackground(new java.awt.Color(255,
					255, 255));
	}

	/**
	 * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent)
	 */
	public void mouseExited(MouseEvent pE) {
		if (pE.getSource() instanceof JTextField)
			if (!((JTextField) pE.getSource()).hasFocus()) {
				((JTextField) pE.getSource()).setBackground(new java.awt.Color(
						102, 204, 154));
			}
	}

	/**
	 * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent)
	 */
	public void mousePressed(MouseEvent pE) {

	}

	/**
	 * @see java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent)
	 */
	public void mouseReleased(MouseEvent pE) {

	}

	/**
	 * @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent)
	 */
	public void focusGained(FocusEvent pE) {
		if (pE.getSource() instanceof JTextField)
			((JTextField) pE.getSource()).setBackground(new java.awt.Color(255,
					255, 255));
	}

	/**
	 * @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent)
	 */
	public void focusLost(FocusEvent pE) {
		if (pE.getSource() instanceof JTextField)
			((JTextField) pE.getSource()).setBackground(new java.awt.Color(102,
					204, 154));
	}

}

Oi homisinho ,
não sei se foi isso que o thingol quis dizer quando disse:

Você pode trocar todas as JTextFields que você deseja ver esse efeito por instâncias de uma classe que derive de JTextField e que tenha esses tratamentos já efetuados.

Então, abaixo segue a classe do meu JTextField:

[code]public
class MeuTextField
extends JTextField
{
public MeuTextField()
{
//
// Chama o método responsavel por mudar a cor.
//
MudaCor();
}

/**
 * Método responsavel por mudar a cor do TextField.
 *
 */
public
void			MudaCor()
{
	setBackground(Color.YELLOW);
}

}[/code]

Nesta classe, eu chamei um método que define a cor amarela para meu JTextField…
sendo assim, na minha classe principal… ao invez de usar a variavel JTextField vou passar a usar o MeuTextField com a cor amarela.

segue o teste:

[code]public class Teste extends JFrame
{
public MeuTextField
io_tf_teste;

public		Teste()
{
	setSize(500,500);
	
	Window();
}

public
void			Window()
{
	getContentPane().setLayout(null);
	
	io_tf_teste	=	new MeuTextField();
	io_tf_teste.setBounds(5,10,100,100);
	getContentPane().add(io_tf_teste);
}

public static void main(String args[])
{
	new Teste().setVisible(true);
}

}[/code]

Você também já pode definir tamanho, digitos e tals… não necessariamente a cor…

Tchauzin!

ba valeu ai pessoal… aprendi a utilizar o implements…

Minha_textbox Eventos_TextBox = new Minha_textbox(); jTextField2.addMouseListener(Eventos_TextBox); jTextField2.addFocusListener(Eventos_TextBox);

demorei um pouco mas o q importa é q chegueilá… com a ajuda do thingol e da Lina

valeu mesmo!!!