Olá pessoal! Fiz um aplicativo em console que funciona como um middleware entre um hardware e uma base de dados. O que eu preciso agora é fazer com que ele fique executando em segundo plano, com um Tray Icon ao lado do relógio, onde o usuário poderá verificar a “saída do console” (pense em criar uma GUI simples em Swing) e com um botão para parar / iniciar o aplicativo.
Bom, o TrayIcon eu vi que dá pra fazer de um jeito relativamente fácil com a classe TrayIcon do pacote awt. A minha dúvida é como eu inicializo / finalizo o app em console e como direciono a saída dele, por exemplo, pra um TextField. Tentei, a princípio, alguma coisa usando um Process, através de uma chamada Runtime.getRuntime().exec(), e capturando o InputStream, mas parece que não rolou direito.
Process child = Runtime.getRuntime().exec("java -jar c:\\users\\rafael\\nucleo.jar");
InputStream in = child.getInputStream();
int c;
while ((c = in.read()) != -1) {
// Só um teste pra ver se eu conseguia soltar a saída do app no console!
System.out.print((char) c);
}
in.close();
Obrigado pela atenção!