Bom dia pessoal, to com um pequeno problema aqui um pouco dificil de encontrar uma solucao… bem
escrevi esse trecho de codigo:
[code]String nomes[] = new String[2];
int cpfs[] = new int[2];
String lista = "";
for (byte pos = 0; pos < cpfs.length; pos++) {
nomes[pos] = JOptionPane.showInputDialog("Informe o nome...");
cpfs[pos] = Integer.parseInt(JOptionPane
.showInputDialog("Informe o CPF..."));
lista += ("Nomes: "+nomes[pos]+"CPFs: "+cpfs[pos]);
}
JOptionPane.showMessageDialog(null, lista);[/code]
Oque to precisando eh encontrar uma forma de imprimir na tela a lista dos nomes e dos CPFs de forma alinhada, independente do tamanho do nome, por exemplo, uma coluna com espaco para 20 caracterts… Paulo tem 5, quero que preencha os outros 15 com espacos em branco para manter alinhada a proxima coluna dos CPFS… existe uma forma de fazer isso? grato.
showMessageDialog aceita HTML (mas bem restrito - não dá para fazer quase nada, na verdade), mas você poderia criar uma
e alinhar os dados nessa table.
No parâmetro que você passa para showMessageDialog que aceita uma String, passe a seguinte String, só para você ver o que estou dizendo:
"<html>" +
"<table border = '1'>" +
"<tr><td>Nome</td><td>Endereco</td></tr>" +
"<tr><td>Jose</td><td>Rua dos Bobos</td></tr>" +
"</table>" +
"</html>"
EDIT - eu estava com pressa e não fechei o “
” - agora fechei, teste e veja se funciona.
[quote=entanglement]showMessageDialog aceita HTML (mas bem restrito - não dá para fazer quase nada, na verdade), mas você poderia criar uma
e alinhar os dados nessa table.
No parâmetro que você passa para showMessageDialog que aceita uma String, passe a seguinte String, só para você ver o que estou dizendo:
"<html>" +
"<table border = '1'>" +
"<tr><td>Nome</td><td>Endereco</td>" +
"<tr><td>Jose</td><td>Rua dos Bobos</td>" +
"</table>" +
"</html>"
[/quote]
Muito interessante entanglement, gostei do formato de saida usando seu codigo, pena que nao tenho nenhum conhecimento com HTML… =/ existe uma forma similar de fazer isso usando recursos do proprio Javax ?
Obrigado!
Desde o java 1.5 a classe String tem o método format, pode usar ele.
[code] public void testFormat() {
List<String[]> dados = new ArrayList<String[]>();
dados.add(new String[] { “Pessoa 1”, “00000000000” });
dados.add(new String[] { “Pessoa da Silva Sauro”, “11111111111” });
dados.add(new String[] { “Pessoa sem nome”, “22222222222” });
dados.add(new String[] { “Teste”, “33333333333” });
StringBuilder builder = new StringBuilder();
for (String[] dado : dados) {
builder.append(String.format("Nome: %-50s CPF: %11s\n", dado[0], dado[1]));
}
System.out.println(builder.toString());
}[/code]
Hum, até aquelas pessoas de profissão indefinida* que dizem que são “web designers” sabem um pouquinho de HTML… - não custa nada aprender.
- Cada época as pessoas que não têm profissão indefinida dão uma quando são inquiridas, por exemplo, por jornalistas ou pela polícia. Agora ficou na moda dizer que é “web designer” quando mal e mal sabe mexer no Facebook
- no meu tempo era “estudante”.