Bom dia!
Estou desenvolvendo um sistema e necessito que ele exiba algumas saídas em um JTextArea, como um console. Porém, não consigo definir um texto no componente. Já tentei o “setText()” e também o “append()”, mas com nenhum desses métodos obtive sucesso.
O texto é inserido no JTextArea, pois exibi uma mensagem com JOptionPane logo após de definir o texto, e parece que o problema está no Swing, porque depois de exibir a mensagem com o JOptionPane o texto aparece no JTextArea, do contrário nada acontece.
Alguém tem uma ideia do que pode ser feito para que eu consigo exibir a mensagem nesse JTextArea?
Desde já, obrigado!
EDIT: Já tentei utilizar o repaint() logo após definir o texto, mas não deu certo.
poste um trecho do seu codigo
Botão de chamada da função
private void btnAtualizarActionPerformed(java.awt.event.ActionEvent evt) {
Console console = new Console();
console.start();
}
Classe de chamada da função
class Console extends Thread {
@Override
public void run() {
if (radioTodos.isSelected()) {
AtualizarTodaEstrutura atualizarTudo = new AtualizarTodaEstrutura(txtArquivo.getText());
atualizarTudo.execute();
} else if (radioEmpresa.isSelected()) {
AtualizarEstruturaEmpresa atualizarEmpresa = new AtualizarEstruturaEmpresa(txtEmpresa.getText(), arquivo.getPath());
atualizarEmpresa.execute();
} else JOptionPane.showMessageDialog(null, "Selecione o tipo de estrutura para atualizar o banco de dados!");
}
}
Classe model
public class AtualizarEstruturaEmpresa extends SwingWorker<Void, Void>{
private String banco, apelido, caminho;
private Integer contLoop = 0;
private BufferedReader lerArquivo = null;
public AtualizarEstruturaEmpresa(String apelido, String caminho) {
this.apelido = apelido;
this.caminho = caminho;
}
@Override
protected Void doInBackground() {
// retorno um array com o banco de dados
}
@Override
public void done() {
String sql = "";
Statement stmt = null;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = // Faz conexão com meu banco de dados
stmt = con.createStatement();
if (lerArquivo == null)
lerArquivo = new BufferedReader(new FileReader(caminho));
String linha = lerArquivo.readLine();
Principal.txtConsole.setText("Procurando delimitador...");
}
}