JTextField [Resolvido]

ola

seguinte setei um borda vermelha para um JTextField

borda = new LineBorder(Color.red); tf_escola.setBorder(borda);

eu quero a seguinte ação

usuario digita uma tecla nele ai ele volta a ficar com a borda padrao dele

ai fui lah no metodo keyPressed e fiz isso

borda = new LineBorder(Color.red); tf_escola.setBorder(null);

so que fazendo isso ele perde a borda como deixar ele com a borda padrao novamente ?

[quote=Rafael Oliveira da Silva]ola

seguinte setei um borda vermelha para um JTextField

borda = new LineBorder(Color.red); tf_escola.setBorder(borda);

eu quero a seguinte ação

usuario digita uma tecla nele ai ele volta a ficar com a borda padrao dele

ai fui lah no metodo keyPressed e fiz isso

borda = new LineBorder(Color.red); tf_escola.setBorder(null);

so que fazendo isso ele perde a borda como deixar ele com a borda padrao novamente ?[/quote]

Descubra qual é a borda padrão. Manda printar no console : tf_escola.getBorder().toString ou algo assim. Dái você seta novamente o padrão, ou verifique na API se existe um setDefaultBorder, ou setdefaultColor ou algo do tipo.

[quote=fsfnit][quote=Rafael Oliveira da Silva]ola

seguinte setei um borda vermelha para um JTextField

borda = new LineBorder(Color.red); tf_escola.setBorder(borda);

eu quero a seguinte ação

usuario digita uma tecla nele ai ele volta a ficar com a borda padrao dele

ai fui lah no metodo keyPressed e fiz isso

borda = new LineBorder(Color.red); tf_escola.setBorder(null);

so que fazendo isso ele perde a borda como deixar ele com a borda padrao novamente ?[/quote]

Descubra qual é a borda padrão. Manda printar no console : tf_escola.getBorder().toString ou algo assim. Dái você seta novamente o padrão, ou verifique na API se existe um setDefaultBorder, ou setdefaultColor ou algo do tipo.[/quote]

mano nao achei nd, mais valeu

Acredito que tenha mais de um campo texto no seu form, caso tenha mesmo pq vc nao tenta fazer assim

tf_escola.setBorder(tf.endereco.getBorder()); 

o que vc vai fazer vai ser pegar a borda padrão de outra campo texto que esteja no seu form, assim iria fazer volta-lo a borda normal.

[quote=osmio][quote=Rafael Oliveira da Silva]ola

seguinte setei um borda vermelha para um JTextField

borda = new LineBorder(Color.red); tf_escola.setBorder(borda);

eu quero a seguinte ação

usuario digita uma tecla nele ai ele volta a ficar com a borda padrao dele

ai fui lah no metodo keyPressed e fiz isso

borda = new LineBorder(Color.red); tf_escola.setBorder(null);

so que fazendo isso ele perde a borda como deixar ele com a borda padrao novamente ?[/quote]

Para alterar a borda de seu componente, voce pode usar BorderFactory. Ex.:

tf_escola.setBorder(BorderFactory.createLineBorder(Color.red));

Para voltar para a borda original, faça:

tf_escola.setBorder(MetalBorders.getTextFieldBorder());

Lembrando que isso pode variar de acordo com sistema operacional e “Look and Feel” que estão sendo utilizados.
Dê uma olhada aqui http://java.sun.com/docs/books/tutorial/uiswing/components/border.html também.

[/quote]

Opaaa velu

[quote=Rafael Oliveira da Silva]ola

seguinte setei um borda vermelha para um JTextField

borda = new LineBorder(Color.red); tf_escola.setBorder(borda);

eu quero a seguinte ação

usuario digita uma tecla nele ai ele volta a ficar com a borda padrao dele

ai fui lah no metodo keyPressed e fiz isso

borda = new LineBorder(Color.red); tf_escola.setBorder(null);

so que fazendo isso ele perde a borda como deixar ele com a borda padrao novamente ?[/quote]

Para alterar a borda de seu componente, voce pode usar BorderFactory. Ex.:

Para voltar para a borda original, faça:

Lembrando que isso pode variar de acordo com sistema operacional e “Look and Feel” que estão sendo utilizados.
Dê uma olhada aqui http://java.sun.com/docs/books/tutorial/uiswing/components/border.html também.