CMD  XML
Índice dos Fóruns » Java Básico
Autor Mensagem
velo
GUJ Ranger
[Avatar]

Membro desde: 19/02/2004 18:23:55
Mensagens: 797
Localização: Jaraguá do Sul - SC
Offline

Pessoas...

Eu queria encapsular um console dentro de uma aplicaçao swing...

Eu ateh vi que com o Runtime.getRuntime eu consigo executar o console, mas, como eu faço para jogar comandos lah pra dentro e obter os retorno num jtextarea?

Alguem tem um exemplo? Console windows dentro de uma java swing java.


VELO

Use o melhor:

Linux para servidores
Macintosh para gráficos
Palm para mobilidade
Windows para jogar paciência

SCJP 5
[Email] [MSN] [ICQ]
KWill
Virtual Machine Man
[Avatar]

Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline

Até pouco tempo estive criando em java um servidor telnet de brincadeira, batizado de SatanAnyWhere.

Pegue a instância de Process que representa o console executando no Sistema Operacional, e capture a saída padrão do console usando Process.getInputStream().

Aí faça uma Thread separada que vai consumindo a saída padrão do console por esse InputStream, e no seu caso, vá jogando essa saída no seu TextArea.

Acho que ajuda.

Inté.

"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola
velo
GUJ Ranger
[Avatar]

Membro desde: 19/02/2004 18:23:55
Mensagens: 797
Localização: Jaraguá do Sul - SC
Offline

Uhm...

Legal...

E pra jogar comandos de volta pra dentro do console?

Usar o outputStream ou tem outro caminho melhor?

VELO

Use o melhor:

Linux para servidores
Macintosh para gráficos
Palm para mobilidade
Windows para jogar paciência

SCJP 5
[Email] [MSN] [ICQ]
BrunoLaser
Thread.start()
[Avatar]

Membro desde: 11/04/2007 13:04:43
Mensagens: 35
Offline

Olá...
Tenta isso:


Espero que ajude

Ate +

BrunoLaser
KWill
Virtual Machine Man
[Avatar]

Membro desde: 18/09/2006 10:05:46
Mensagens: 609
Offline

velo wrote:Uhm...

Legal...

E pra jogar comandos de volta pra dentro do console?

Usar o outputStream ou tem outro caminho melhor?

VELO


Acho que não entendi bem esse negócio de "comandos para dentro", mas para enviar comandos para o console, aparentemente esse é o melhor caminho mesmo, a menos que você esteja disposto a fazer uma super gambiarra com jni.

Uma coisa que esqueci de te alertar é que você também deve tratar a saída de erro do programa consumindo a saída de erro do console, fazendo na mesma thread que lê a saida padrão a leitura do stream recebido por Process.getErrorStream().

Recomendo que antes de bloquear nas leituras, deva-se verificar se há algo para ser lido, com a interpretação do valor que Inpustream.available() retorna.

Inté.

"Só estou certo de que não possuo outras certezas" - KWill
"Não penso, mas Googlo, logo existo!" - Geração Copy-Cola
velo
GUJ Ranger
[Avatar]

Membro desde: 19/02/2004 18:23:55
Mensagens: 797
Localização: Jaraguá do Sul - SC
Offline

warcraft 3 member =D

"Some one call for the doctor?"

VELO

Use o melhor:

Linux para servidores
Macintosh para gráficos
Palm para mobilidade
Windows para jogar paciência

SCJP 5
[Email] [MSN] [ICQ]
velo
GUJ Ranger
[Avatar]

Membro desde: 19/02/2004 18:23:55
Mensagens: 797
Localização: Jaraguá do Sul - SC
Offline

Uhm...

Bem, no caso o error não me interessa muito (não me interessa nem um pouco)

VELO

Use o melhor:

Linux para servidores
Macintosh para gráficos
Palm para mobilidade
Windows para jogar paciência

SCJP 5
[Email] [MSN] [ICQ]
 
Índice dos Fóruns » Java Básico
Ir para:   
Powered by JForum 2.1.8 © JForum Team