Valeu pela dica do MaskFormatter, mas o que eu estou qrendo é o seguinte:
Quando o usuário digitar o caractere ponto, ele não pode aparecer no JTextField e o foco tem que passar pro próximo componente…
Se alguém tiver alguma sugestão…
Valeu pela dica do MaskFormatter, mas o que eu estou qrendo é o seguinte:
Quando o usuário digitar o caractere ponto, ele não pode aparecer no JTextField e o foco tem que passar pro próximo componente…
Se alguém tiver alguma sugestão…
Adicionar um DocumentListenet ao TextField e fazer
o tratamento…
if (char.equals('.')){
    focusToNext();}
Valeu? até… :thumbup:
[]'s
E quando for responder uma pergunta sua mesmo clique no botao
Responder e nao no Criar Novo Topico, ok?
Até… :thumbup:
[]'s
Hum…não entendi muito bem como que faz isso não. Eu estava utilizando o KeyListener, so que na hora que eu mudo o foco o ponto aparece.
Tem jeito de fazer esse ponto não aparecer???
Valeu…
Tirando o ultimo caracter do TextField antes de passar o foco?
Valeu? até… :thumbup:
[]'s
O segredo é colocar um DocumentListener mesmo:
tfSeiLa.getDocument().addDocumentListener(meuDocumentListener);
Implemente no método:
insertUpdate(DocumentEvent e)
…e do DocumentEvent que vem como parâmetro você consegue ver o que foi inserido e tratar o problema.
Retirar o último caractere do JTextField antes de passar o foco não deu certo, ele passa o foco e o caractere não sai. E não entendi o DocumentListener.
Me ajudem, por favor…
Valeu…
Experimenta esta:
 public void keyPressed(KeyEvent e) { 
   if(e.getSource() == txt1){ 
      if(e.getKeyCode() ==  8 ){
          txt2.requestFocus(); 
          return; 
      } 
   }
}
No lugar do 8 é 44 ou 46.
[color=red]Mensagem do moderador: ao postar codigos utilize as tags [ code ] [ /code ].[/color]
Esse de colocar o RETURN tb não deu certo… 
Envia o fonte do programa.
Dê uma olhada no código abaixo, quero fazer com o caractere ponto o que estou fazendo com o Enter.
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Teste extends JFrame implements KeyListener
{
	JTextField tx1, tx2, tx3, tx4;
	JPanel painel; 
	
	public Teste()
	{
	   setSize(200,200);
	   setTitle("Teste Ponto");
	   painel = new JPanel();
	   tx1 = new JTextField(3);
	   tx2 = new JTextField(3);
	   tx3 = new JTextField(3);
	   tx4 = new JTextField(3);
	   add(painel,BorderLayout.CENTER);
	   painel.add(tx1);
	   painel.add(tx2);
	   painel.add(tx3);
	   painel.add(tx4);
	   
	   tx1.addKeyListener(this);
	   tx2.addKeyListener(this);
	   tx3.addKeyListener(this);
	   tx4.addKeyListener(this);	
	}
	
	public void keyPressed(KeyEvent evento)
	{
		// qro fazer isso com o PONTO (so q ele não pode aparecer)
		if(evento.getKeyCode() == 10)
		{
			if(evento.getSource() == tx1)
			   tx2.requestFocus();
		}   
		// ...   
	}
	
	public void keyReleased(KeyEvent evento) { }
	
	public void keyTyped(KeyEvent evento) {	}
	
	public static void main(String[] args)
	{
		Teste teste = new Teste();
		teste.setVisible(true);
	}
} 
Se alguem puder me ajudar…
Agradeço…
[color=red]Mensagem do moderador: Ao postar codigos use as tags [ code ] [ /code ][/color]
No JTextField não consegui mas no TextField funciona. Creio ser um erro do javax.
import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 
public class Teste extends JFrame implements KeyListener 
{ TextField tx1, tx2, tx3, tx4; 
  JPanel painel; 
  public Teste() 
  { setSize(200,200); 
    setTitle("Teste Ponto"); 
    painel = new JPanel(); 
    tx1 = new TextField(3); 
    tx2 = new TextField(3); 
    tx3 = new TextField(3); 
    tx4 = new TextField(3); 
    add(painel,BorderLayout.CENTER); 
    painel.add(tx1); 
    painel.add(tx2); 
    painel.add(tx3); 
    painel.add(tx4); 
    tx1.addKeyListener(this); 
    tx2.addKeyListener(this); 
    tx3.addKeyListener(this); 
    tx4.addKeyListener(this); 
  } 
  public void keyPressed(KeyEvent evento) 
  { // qro fazer isso com o PONTO (so q ele não pode aparecer) 
    if(evento.getKeyCode() == 46) 
    { if(evento.getSource() == tx1) 
	  {	evento.setKeyCode((int) KeyEvent.VK_ESCAPE); 
        tx2.requestFocus();
        return;
	  }    
    } 
    // ... 
  } 
  public void keyReleased(KeyEvent evento) { } 
  public void keyTyped(KeyEvent evento) { } 
  public static void main(String[] args) 
  { Teste teste = new Teste(); 
    teste.setVisible(true); 
  } 
} 
[color=red]Mensagem do Moderador: Ao postar codigos use as tags [ code ] [ /code ].[/color]
Com o TextField deu certinho, so que me atrapalhou em outras coisas, pq eu estou usando os métodos setBorder e setDocument nos JTextField’s, qndo rodei o programa acima fiquei animado, mas qndo mudei no meu deu esses erros com esses métodos.
Alguém tem + alguma sugestão??
Valeu ai pelas dicas…
Sugestao: Leia este tópico.
:arrow: http://www.guj.com.br/posts/list/0/27352.java#148285
Valeu? até… :thumbup:
[]'s
Li o tópico, mas aconteceu a mesma coisa que antes, com o TextField funciona, mas com o JTextField não.
Se tiverem + alguma sugestão vou agradecer muito…
Valeu.
Outra dica:
Use o DocumentListener, nao use o KeyListener. 
Valeu? até… :thumbup:
[]'s
Ok, mas eu sou iniciante, seria possível vc colocar um pequeno exemplo do DocumentListener???
Valeu msm pelas dicas… :thumbup:
Experimenta este exemplo e depois me dá o retorno:
import javax.swing.;
import java.awt.;
import java.awt.event.*;
public class Teste extends JFrame implements KeyListener
{ JTextField tx1, tx2, tx3, tx4;
JPanel painel;
String tecla;
public Teste()
{ setSize(200,200);
setTitle(“Teste Ponto”);
painel = new JPanel(); 
tx1 = new JTextField(3); 
tx2 = new JTextField(3); 
tx3 = new JTextField(3); 
tx4 = new JTextField(3); 
add(painel,BorderLayout.CENTER); 
painel.add(tx1); 
painel.add(tx2); 
painel.add(tx3); 
painel.add(tx4); 
tx1.addKeyListener(this); 
tx2.addKeyListener(this); 
tx3.addKeyListener(this); 
tx4.addKeyListener(this); 
}
public void keyPressed(KeyEvent evento)
{ // qro fazer isso com o PONTO (so q ele não pode aparecer)
if(evento.getKeyCode() == 46)
{
if(evento.getSource() == tx1)
{	String texto=tx1.getText();
int tam=texto.length();
tecla=texto.substring(0,tam);  	
tx2.requestFocus();
return;
}
}
// …
}
public void keyTyped(KeyEvent evento) {}
public void keyReleased(KeyEvent evento)
{ if(evento.getKeyCode() == 46)
{ if(evento.getSource()==tx2)
{	tx1.setText(tecla);
}
}
}
public static void main(String[] args)
{ Teste teste = new Teste();
teste.setVisible(true);
}
}
Se fores usar o keyListener, coloque o seu código no keyTyped e após entrar na verificação use o método consume do evento.
public void keyTyped(KeyEvent evento) { 
	if(evento.getKeyChar() == '.') {
		evento.consume();
		if(evento.getSource() == tx1)
 			   tx2.requestFocus();
	}   
}
Falou!!
No exemplo do luizbarbosa o ponto teima em aparecer, mas no exemplo do TedLoprao deu certo.  
Agradeço a todos pelas dicas, todas me ajudaram bastante…
Valeu… :thumbup: