fiz uma código que armazena em uma string o que foi digitado no campo(tipo um edit) gostaria que: quando chegasse no limite máximo de caracteres que podessem ser escritos, não podesse mais digitar.
ex:um campo onde só digite no máximo 5 caracteres. e ao chegar no quinto não podesse escrever mais.
import java.io.DataInputStream;
import java.io.IOException;
public class JConsole2 extends Exception {
private int tamanho2; //numero máximo de caracteres que podem ser armazenados.
private String erro; // String com mensagem informando algum erro de entrada.
public JConsole2 (int tamanho, String err) { // Construtor
tamanho2 = tamanho;
erro = err;
}
public String edit() {
String texto= "";
char carac[] = new char[tamanho2];
byte conjuntoBytes[] = new byte[tamanho2];
DataInputStream input = new DataInputStream(System.in);
try{
//Preenche o array conjuntoBytes
input.read(conjuntoBytes) ;
}
catch ( IOException e ) {
System.out.print(erro);
}
//laço que coloca o array de bytes num array de char e depois
//coloca numa só String
for ( int i = 0; i < tamanho2; i++ ){
carac[i] = (char) conjuntoBytes[i];
texto += carac[i];
}
return texto;
}
}
classe que testa:
public class Teste2 {
public static void main(String[] args) {
/*Instanciando um campo de string de nome 'ler'
* cujo tamanho armazena 5 caracteres e uma String caso ocorra algum erro. */
JConsole2 ler = new JConsole2 (5, "Erro na Leitura!");
System.out.print("Nome: ");
//ler.edit() método para criar o campo de texto no console, cujo valor de retorno eh uma String;
String meutexto = ler.edit();
System.out.print("voce digitou : " + meutexto);
}
}