Edit: [Solved]
Deparei com um pequeno problema para imprimir uma String no JTextField.
Código que faz a impressão:
[code] class ListagemButtonHandler implements ActionListener {
public void actionPerformed(ActionEvent e) {
Hardware hardware;
String impressao = "";
try {
arquivo.openToRead();
for (int i = 1; i < RandomAccessFileHandler.NUMBER_OF_RECORDS + 1; i++) {
hardware = arquivo.readHardware(i);
if (hardware.getNumeroDeRegistro() != 0) {
// trecho que constroi a String
impressao = impressao.concat(String.format(
"%-7d%-25s%-10d%-10.2f\n", hardware
.getNumeroDeRegistro(), hardware
.getNome(), hardware.getQuantidade(),
hardware.getPreco()));
} // if
} // for
// onde é feito as 2 diferentes impressões com a mesma String
System.out.printf(impressao);
listagemJTextArea.setText(impressao);
} finally {
arquivo.closeFile();
} // try .. catch .. finally
} // actionPerformed
} // ListagemButtonHandler class[/code]
A String que quero imprimir é construída na linha 18 (até ai sem problemas), quando imprimo ela no console ela sai formatada do jeito que eu queria, mas quando tento imprimir no JTextField ela não sai devidamente formatada.
Alguém sabe me dizer o porque ? Ou como imprimir ela devidamente formatada.
edit: pelo visto é porque o format usa espaçamentos e, no console o espaçamento é o mesmo tendo ou não caractere e no JTextField difere o tamanho de um espaço em branco e um com caractere. Alguma idéia de como eu poderia gerar essa saída formatada como no console usando o JTextField ?
edit2: Tava fuçando nos métodos do JTextField e achei um que deu pra ajeitar como eu queria: objJTextArea.setTabSize(4);
diminuindo o espaçamento das tabulações foi possível usar formatação com os \t, sem os dados ficarem muito distantes.
Nessa imagem mostra como a mesma String sai no JTextField e no Console respectivamente.