[RESOLVIDO]Quantidade de digitos de JTextField

5 respostas
semperfy

Boa noite pessoal, sou novo aqui no forum e tbm com o java, estou com um problema que é o seguinte…
tenho um JTextField com quantidade de digitos limitado(20),vou exportar esse texto para um arquivo .txt,
mas nem sempre o usuario vai ter digitado todos os 20 digitos, porem no arquivo deve conter estes 20 campos
mesmo que esteja em branco…não sei se ficou claro, mas segue um exemplo, vou substituir os espaços em branco
por pontos(.) para facilitar.

… = quantidade de campos do textfield

SEMPERFY… = valor digitado pelo usuario e exportado completando os digitos mesmo em branco.

PS: como tem mais informações neste arquivo .txt os campos irão funcionar como colunas.

5 Respostas

drsmachado

Você, obrigatoriamente, terá que criar um método que faça a substituição dos caracteres faltantes por espaços em branco. Ele deve receber a String em questão e o tamanho que a mesma deveria ter, então, você parte do tamanho da String recebida (use o método length() para isso) até o tamanho que deveria ter, a cada iteração, acrescenta um espaço em branco.
Detalhe, faça com que o método receba os dois parâmetros, assim você poderá usar o mesmo para qualquer dado a ser tratado.

R

Neste caso tu pode usar o Texgit http://www.jrimum.org/texgit/

ou

Criar um método tipo este

//registro   = Texto de entrada
    //tamanho    = Tamanho que o texto deve ficar sempre
    //orientacao = L - Left | H - Hight
    //caracter   = Caracter que sera colocado nos espaços que faltar
    
    public static String putCaracter(String registro, int tamanho, String orientacao,String caracter) {
        if (orientacao.equals("L")) {
            StringBuffer registro_l = new StringBuffer(registro);
            int tamanhofinal = (tamanho - registro_l.length());
            for (int i = 0; i < tamanhofinal; i++) {
                registro_l.append(caracter);
            }
            return (registro_l.toString());
        } else if (orientacao.equals("H")) {
            StringBuffer registro_h = new StringBuffer("");
            int tamanhofinal = (tamanho - registro.length());
            for (int i = 0; i < tamanhofinal; i++) {
                registro_h.append(caracter);
            }
            registro_h.append(registro);
            return registro_h.toString();
        }
        return registro;
    }
drsmachado
rpassos81:
Neste caso tu pode usar o Texgit [url]http://www.jrimum.org/texgit/[/url]

ou

Criar um método tipo este

//registro   = Texto de entrada
    //tamanho    = Tamanho que o texto deve ficar sempre
    //orientacao = L - Left | H - Hight
    //caracter   = Caracter que sera colocado nos espaços que faltar
    
    public static String putCaracter(String registro, int tamanho, String orientacao,String caracter) {
        if (orientacao.equals("L")) {
            StringBuffer registro_l = new StringBuffer(registro);
            int tamanhofinal = (tamanho - registro_l.length());
            for (int i = 0; i < tamanhofinal; i++) {
                registro_l.append(caracter);
            }
            return (registro_l.toString());
        } else if (orientacao.equals("H")) {
            StringBuffer registro_h = new StringBuffer("");
            int tamanhofinal = (tamanho - registro.length());
            for (int i = 0; i < tamanhofinal; i++) {
                registro_h.append(caracter);
            }
            registro_h.append(registro);
            return registro_h.toString();
        }
        return registro;
    }
Sempre tem um inútil que fornece o código pronto...
R

Primeiramente obrigado pelo elogio.
Sempre achei o guj um espaço publico e que cada um ajuda do geito que acha melhor.
Ja fui iniciante e as vezes quando me passavam dicas, citavam metodos, não me ajudava muito, aprendi muito mais pegando códigos prontos e debugando para entender o que ele faz.

Respeito tua opinião, embora que pelo teu comentario tu não respeita ninguem.

Faz o teu que eu faço o meu.

semperfy

drsmachado concordo com vc em partes, pq realmente, quando vc tem uma dica e busca o conhecimento através dela vc aprende de verdade, e mesmo não usando o codigo que fez vc não esquece, muito obrigado pela ajuda.
E drpassos81…sem palavras, vc disse tudo, eu programo a um pouco mais de 6 anos e meio(quando fiz meu primeiro HELLO WORLD), mas, em VB.NET, no hospital onde trabalho sistema de gestão que usamos deixa um pouco a desejar, e por se tratar de uma entidade filantrópica sem fins lucrativos onde 90% é atendimento SUS, acaba sendo caro a implantação de um sistema com um suporte maior, e até mesmo a alteração no sistema atual as vezes é muito caro, então sempre fiz penas aplicações para suprir essas necessidades, porém, a 5 meses foi contratado um novo superintendente, e o “bendito cujo” só usa computador MAC, e isso se tornou um pesadelo, pq nada funcionava, nem mesmo o sistema de gestão, foi quando me bateu essa luz de aprender java, e da mesma maneira que aprendi o VB.NET o JAVA tbm está sendo na raça, tem muita coisa que é bem tranquilo, mas outras já quebra um pouco a cabeça, e sempre fiz como você, pegava um codigo pronto e debugava para entender o que fazia, ou mesmo procurava explicações sobre o assunto, não só copiar e colar, mas tbm concordo com o nosso amigo drsmachado, o que suei pra aprender lembro até hj, outras em que encontrei prontas não lembro, por isso tenho de concordar com os 2, e a ajuda dos 2 foi muito aproveitada, até mesmo pq o que o drsmachado disse é a maneira como faço no VB, achei que no java seria diferente, porem só estava usando o metodo errado.
Mais uma vez, muito obrigado a todos.

Criado 12 de setembro de 2013
Ultima resposta 13 de set. de 2013
Respostas 5
Participantes 3