Como determinar o tamanho do campo no JTextField

Java

09/04/2009

Sou novato em Java..... gostaria de saber como determinar o tamanho do campo para o usuário digitar.... por exemplo: Nº. da Nota Fiscal: gostaria de deixar esse campo com sete posições.... é só um exemplo ! Se alguém puder me ajudar....
Fred Stetner

Fred Stetner

Curtidas 0

Respostas

João Ferreira

João Ferreira

09/04/2009

[quote="Fred Stetner"]Sou novato em Java..... gostaria de saber como determinar o tamanho do campo para o usuário digitar.... por exemplo: Nº. da Nota Fiscal: gostaria de deixar esse campo com sete posições.... é só um exemplo ! Se alguém puder me ajudar....
Salve
JTextField(int tamanhoPosição)
Falow
GOSTEI 0
Rpizao

Rpizao

09/04/2009

Como foi dito ai, isso é feito direto na construtora do componente. Assim:
 JTextField edit = new JTExtField(30); 
Onde trinta é a quantidade de colunas do componente. Se vc quiser alterar depois de te-lo criado, use o método setColumns(int numcolunas) Assim:
 edit.setColumns(50); 
Espero ter ajudado, abraços... Rafael.
GOSTEI 0
Edinei Manica

Edinei Manica

09/04/2009

Mas será que ele não quer a quantidade de caracteres que o campo poderá receber ?
GOSTEI 0
Vitor Pamplona

Vitor Pamplona

09/04/2009

Segue...
public class TextDocument extends PlainDocument {
	/**
	 * Tamanho máximo default do componente = 4000 caracteres
	 */
	private int tamanhoMax = 4000;

	/**
	 * Cria o validador com o tamanho máximo de 4000
	 */
	public TextDocument() {
		super();
	}
 
	/**
	 * Cria o validador com o tamanho definido no parâmetro
	 * 
	 * @param tamanho Tamanho máximo da cadeia de caracteres
	 */
	public TextDocument(int tamanho) {
		super();
		tamanhoMax = tamanho;
	}

        /**
	 * A cada tecla pressionada valida a tecla verifica se não está no máximo que o campo pode aguentar.
	 * 
	 * @see javax.swing.text.Document#insertString(int, java.lang.String, javax.swing.text.AttributeSet)
	 */
	public void insertString(int offs, String str, AttributeSet a) 
		 throws BadLocationException {
 
		 if (str == null) return;
			 
		 String oldString = getText (0, getLength() );
		 String newString = oldString.substring(0, offs) + str + oldString.substring(offs); 
		 	 	 
		 if (newString.length() > tamanhoMax) {
			 super.insertString(offs, "", a);
		 } else {
			 // Repassa para o pai.
			 super.insertString(offs, str, a);
		 }
			 	
	}

}
Esse Documento é inserido dentro do textfield assim:
setDocument(new TextDocument(50));
GOSTEI 0
Elias Noguiera

Elias Noguiera

09/04/2009

Dá uma olhada tmb no tutorial do www.guj.com.br controlando um jtextfield http://www.guj.com.br/java.artigo.29.1.guj[/b]
GOSTEI 0
Nilton Pereira

Nilton Pereira

09/04/2009

este comando setDocument(new LimitaCampo(13)); é inserido em qual propriedade do jtextfield?
GOSTEI 0
Nilton Pereira

Nilton Pereira

09/04/2009

Correção!! gostaria de saber em qual propriedade deverá ser informado o comando setDocument(new TextDocument(50)); Fiz alguns testes mas não tive resultados.
GOSTEI 0
Carlos Heuberger

Carlos Heuberger

09/04/2009

[quote="npereira"]Correção!! gostaria de saber em qual propriedade deverá ser informado o comando setDocument(new TextDocument(50)); Fiz alguns testes mas não tive resultados.
Oi propriedade? o setDocument() é um método do JTextField:
JTextField textfield = ...
...
textfield.setDocument(new TextDocument(50));
(em princípio o Document é uma propriedade do JTextField) []]
GOSTEI 0
POSTAR