Olá galera gostaria de saber se já tenho pronto na classe String uma método que concatene pra mim caracteres (no meu caso espaços)como esse método statico que implementei ? será que reinventei a roda?[code]
static public String ModificaString (String palavra ){
if ( palavra.length()< 22){
int tamanho = 0;
String Space =" “;
tamanho = 22 - palavra.length();
for(int i = 0 ; i < tamanho;i++){
Space = Space+” ";
}
palavra = palavra.concat(Space);
}
return palavra;
}[/code]
o tamanho eu defini como 22 mas esse tamanho pode ser generico se colocamos ele na chamada do metodo !!!
Um abraço a todos e obrigado pela atenção. :lol:
Em que caso você vai utilizar esse método?
Eu tenho uma variavel que pode variar de tamanho até 22 e preciso concatena -la com com uma label fixa , para que essa label sempre fique no mesmo lugar no meu relatório eu tive que implementar esse método por que senão ela ficaria em locais diferentes prejudicando assim o alinhamento que tenho no layout desse relatorio .
ex:
palavracomprida labelfixa;
palavracurta labelfixa;--> sempre alinhando label com label na mesma posição mesmo que a palavra seja menor ;
|
|
alinhamento
Mas é só marcar a opção de centralizado, isso ai é gambi 
Você está usando o IReport?
[quote=marcio_gs]Mas é só marcar a opção de centralizado, isso ai é gambi 
Você está usando o IReport?[/quote]
Eu estou criando o relatório para exibir em um frame html e por isso crio uma lista de Strings , e passo essa lista pela Session e quem recebe ela é uma jsp . Eu poderia usar IReport mas por se tratar de uma manutenção não posso mudar as caracteristicas do projeto !!!
Entendi… Bom, procurei na API e não encontrei um método que faça algo assim, pelo menos na classe String.
Você quer completar com brancos à direita, não? Use String.format.
Exemplo:
String campo1 = "Jose";
String campo2 = "Aparecido";
String s = String.format ("%-20.20s | %-15.15s", campo1, campo2);
Isto vai mostrar a seguinte string: (pus uns dígitos acima só para ficar mais fácil de acompanhar):
12345678901234567890 | 123456789012345
Jose | Aparecido
Note que o sinal de “-” serve para deixar alinhado à esquerda (se você omitisse o sinal, ficaria alinhado à direita), “s” serve para indicar que quero imprimir uma String (ou algum objeto, via toString()) , “.20” quer dizer que devem ser impressos no máximo 20 caracteres, e “20” quer dizer que devem ser impressos no mínimo 20 caracteres. Como escrevi “20.20” isso quer dizer que quero que sejam impressos exatamente 20 caracteres, mesmo que seja necessário o truncamento.
Se você não pode truncar a string (se ficar maior pode ficar desalinhado), então você pode usar “%-20s”.
rs rs rs é eu tambem , bom em todo caso funciona !! o que eu fiz mas se pudesse usar uma da propria API seria bem melhor !!! Valeu pela ajuda !!!
Abraço !!! se vc achar algo posta pra eu testa!! Vlw
[quote=thingol]Você quer completar com brancos à direita, não? Use String.format.
Exemplo:
String campo1 = "Jose";
String campo2 = "Aparecido";
String s = String.format ("%-20.20s | %-15.15s", campo1, campo2);
Isto vai mostrar a seguinte string: (pus uns dígitos acima só para ficar mais fácil de acompanhar):
12345678901234567890 | 123456789012345
Jose | Aparecido
Note que o sinal de “-” serve para deixar alinhado à esquerda (se você omitisse o sinal, ficaria alinhado à direita), “s” serve para indicar que quero imprimir uma String (ou algum objeto, via toString()) , “.20” quer dizer que devem ser impressos no máximo 20 caracteres, e “20” quer dizer que devem ser impressos no mínimo 20 caracteres. Como escrevi “20.20” isso quer dizer que quero que sejam impressos exatamente 20 caracteres, mesmo que seja necessário o truncamento.
Se você não pode truncar a string (se ficar maior pode ficar desalinhado), então você pode usar “%-20s”.
[/quote]
Valeu vou testar !! valeu pela força!!
Deu certo , rs rs rs reiventei a roda sem precisar !!! Valeu galera!!!
Me corrija se eu estiver errado, vc quer preencher o final da String com espaços em branco?
Fiz um código com o metodo concat. Vc apenas deve trocar o “.” por " "
Fiz com o ponto para vizualizar o resultado.
static public String ModificaString(String palavra) {
for (int i = 0; i < 22 - palavra.length(); i++) {
palavra = palavra.concat(".");
}
return palavra;
}