Estou gerando um arquivo.txt aqui: http://www.guj.com.br/posts/list/226219.java
Agora, se vcs virem no ultimo post, estou tentando colocar as informações de um jtable em forma de tabela, para isso acho que o String.format seria uma boa opção, estou tentando fazer assim, mas não estou conseguindo alinhar o esquema
for(int x = 0; x < tabelaConsumo.getRowCount(); x++){
linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 1)));
linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 5)));
linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 4)));
linhasTxt.print(String.format("%s",tabelaConsumo.getModel().getValueAt(x, 6)));
linhasTxt.println();
}
isso funciona, mas não consigo acertar o espaçamento das colunas alinhar os valores.
qual seria a melhor maneira pra isso ???
Se quiser que uma string que tem de 0 até 20 posições fique alinhada à direita em um campo de 20 posições, use
“%20s”
Se quiser que uma string que tem de 0 até 20 posições fique alinhada à esquerda em um campo de 20 posições, use
“%-20s”
Se quiser que uma string fique alinhada à direita em um campo de 20 posições (e se precisar, truncar para as primeiras 20 posições), use
“%20.20s”
Se quiser que uma string fique alinhada à esquerda em um campo de 20 posições (e se precisar, truncar para as primeiras 20 posições), use
“%-20.20s”
OK?
e bem isso ae q eu precisava, to procurando sobre string.format aqui mas ta tenso…rs !
vou ver o que consigo !
obrigado.
Você não precisa “procurar”. É questão de você olhar a documentação ( http://download.oracle.com/javase/6/docs/api/java/util/Formatter.html ) e fazer um programinha para ir experimentando com todos esses “%f” e “%d” e %04X" e coisas mais estranhas.
(Em particular, não recomendo usar o % com datas; é muito complicado. Eu prefiro usar um “%s” para imprimir a saída de um SimpleDateFormat.format, que é bem mais simples de especificar.)
opa, eu sempre olho a API/DOCs antes de vir aqui perguntar, e que naum estava sacando sobre posicoes na string, %s…por exemplo, para fixar seu tamanho e tals.
por isso perguntei…t+