Quadrinho Output dentro do Frame !?

7 respostas
felipe_thrash

Boa tarde senhores,

não consegui achar nada relacionado a isso, ou talvez tb seja loucura minha minha, mas:

tem como colocarmos aquela janelinha de Output ( isso mesmo… akela que aparece todos os erros quando da pau hehehe) dentro de um jFrame ???

pior, se possivel rodar atraves de um jTextPane… ou algo similar ???

alguma luz, código, cheat… crack… ???

valew galera desde já
( q vai ficar bacana o programinha vai hehehe)

Felipe

7 Respostas

sergiotaborda

Vc tem que implementar um PrintStream que fique colocando o texto no jtextpane e substituir o System.out e System.err por ela.
É “simples”… 8)

R

Se tiver utilizando o log4j, é só customizar um appender.

[]´s

felipe_thrash

Violento…

to no NetBeans…

to dando uma olhada aki na classe PrintStream…
mas ainda to boiando em como preparar um método para o jTextPane rode a “paradinha” (sou totalmente iniciante em java) e ainda estou tentando aplicar o q o sergiotaborda falou… mas a parada aki ta parada…

alguma luz mais básica !?
qual seria o evento q uso para o JTextPane ??

sergiotaborda

Nenhum.

Vc cria a printStream e seta o system com ela

MinhaPrintStream p = new MinhaPrintStream (jTextPane);

System.setOut(p);
System.setErr(p);

A criação da print stream é mais delicada

class MinhaPrintStream extends PrintStream{


 public MinhaPrintStream (JTextPane pane){
        super(new TextOutputStream (pane))
        
 }

 private static TextOutputStream extends  ByteArrayOutputStream {
JTextPane pane;
       public TextOutputStream (JTextPane pane){
 this.pane = pane;
       }

  public void write(byte[] b, int off, int len){
        super.write(b,off,len);
        pane.setText(this.toString());
  }
 }


}

Tudo o que for jogado no System.out ou System.err será jogado no textpane em vez de no console.

felipe_thrash

entendi, mas… parece q o código nao funfa…

criei a classe MinhaPrintStream.java, importei tudo…
instanciei la no meu form…

tem algo errado nessa parte ( precisamente na 1 linha) q nao consigo arrumar:

private static TextOutputStream extends  ByteArrayOutputStream {
 JTextPane pane;
        public TextOutputStream (JTextPane pane){
  this.pane = pane;
        }

no seu roda de boa ?? aki acusa erro nessa 1 linha: expected
(fantasticamente leigo … :frowning: )

sergiotaborda

felipe_thrash:
entendi, mas… parece q o código nao funfa…

criei a classe MinhaPrintStream.java, importei tudo…
instanciei la no meu form…

tem algo errado nessa parte ( precisamente na 1 linha) q nao consigo arrumar:

private static TextOutputStream extends  ByteArrayOutputStream {
 JTextPane pane;
        public TextOutputStream (JTextPane pane){
  this.pane = pane;
        }

no seu roda de boa ?? aki acusa erro nessa 1 linha: expected
(fantasticamente leigo … :frowning: )

lol… não espera que eu coloque o codigo completo …
falta uma } depois de this.pane = pane.

PAra quem não sabe nada de java vc escolher fazer logo uma coisa dificil … lol

felipe_thrash

valew Sergio, vou tentando aki…

quando conseguir eu posto o código aki

mais uma vez obrigado a todos!

Criado 12 de julho de 2007
Ultima resposta 13 de jul. de 2007
Respostas 7
Participantes 3