Clone cmd/Shell dentro de Swing

4 respostas
A

Olá pessoal

O meu problema é um pouco complicado de explicar, mas vou tentar. Estava tentando “emular” um cmd dentro da minha aplicação. Eu iria usar isso para poder rodar dentro de minha aplicação arquivos .class (modo texto) como se estivessem sendo executados no cmd (um Shell).

Tentei rodar usando Runtime.getRuntime().exec, mas o problema é que desta maneira não consigo pegar o retorno (isso é um problema pois o usuário precisa interagir com o .class, informando dados em determinados momentos).

Todos os .class necessitam que seja informado alguns valores. Por exemplo, quando eu executo o abc.class ele me pede (em modo texto) os valores:

Idade:
Nome:
Sobrenome:

Executar eu consigo, eu não consigo é informar os valores.

Pelo jeito, não consegui explicar. Vou simplificar:

Eu quero criar isso:

Em minha aplicação. Caso não usem netbeans, esse componente executa dentro de si mesmo um .class desejado. Se o .class precisar imprimir na tela algo, ele imprime ali. Se ele precisa que o usuário digite alguma coisa, o usuário digita ali.

Eu até consegui executar e chegar na parte da
Idade:
Só que eu não consigo informar de volta o valor.

É como se estivesse executando o .class no Shell, só que dentro de minha aplicação.

Será que existe (na verdade existe, no netbeans e no eclipse podemos ver facilmente) uma maneira de incluir isso em minha aplicação sem perder a portabilidade?

Muito obrigado!

4 Respostas

M
private static Process processo = null;
    public static void main(String[] args) {
        try {
            // TODO code application logic here
            processo = Runtime.getRuntime().exec("ping -t  127.0.0.1");
           BufferedReader saida = new BufferedReader(new InputStreamReader(processo.getInputStream()));
           String saidaTexto = "";
           while((saidaTexto = saida.readLine()) != null){
               System.out.println(saidaTexto);
           }
        } catch (IOException ex) {
            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
        }

    }

tae brother espero ter te ajudado flwss

torres17

1

A
mfp.c:

tae brother espero ter te ajudado flwss

Pois é amigo, essa foi a primeira de muitas das tentativas que testei. Como falei antes, ele submete e devolve o valor retornado, mas não permite "interagir" com arquivo como se você estivesse rodando ele no prompt, por exemplo. Fiz um teste simples:
import java.util.Scanner;

public class teste {

public static void main (String[] args) {
       System.out.print("Digite alguma coisa: ");
       Scanner nomeDoScanner = new Scanner(System.in);
       String nomeString = nomeDoScanner.nextLine();

System.out.print("Você digitou: " + nomeString);
}
}
Como você pode ver, ao executar esse arquivo acima, o "prompt" chega até a linha 2 e para, não permite informar o valor que pede para digitar.

Mas mesmo assim, vlw!

genildof

Se entendi, pretende emular o console do java em um TextArea do swing.
Já viu esse post, talvez te ajude: http://www.guj.com.br/posts/list/120192.java

Sds,

Criado 7 de setembro de 2009
Ultima resposta 10 de set. de 2009
Respostas 4
Participantes 4