嗨,如题,由于程序需求,想把本来在console中输出的程序运行状态(就是自己加的一些状态显示,例如System.out.println("start")等),在程序主界面上通过jTextArea或其他的组件显示呢?

解决方案 »

  1.   

    import java.io.*;public class pp
    {
      public static void main(String[] args)
      {
        try
        {
          ByteArrayOutputStream bb = new ByteArrayOutputStream();
          PrintStream p = new PrintStream(bb);
          System.setOut(p);
          
          System.out.print("Hello world");      System.err.println("-->"+bb.toString()+"<--");
        }
        catch(Exception e)
        {
        }
      }
    }拷贝时注意:中文空格
      

  2.   

    这是把"Hello world"显示到哪里了呢?好像还是在console里啊谢谢
      

  3.   

    能不能显示在自己做的程序的界面上呢?用textarea或其他组件,谢了
      

  4.   

    david2083  给的程序你自己试着运行过了吗?
    System.out是一个输出流,System.setOut(p);这句代码已经把这个输出流替换成别的输出流了。
    你只要自己想办法把这个输出流连接到你的textarea就可以了。
      

  5.   

    将你要输出的字符串用jTextArea类中的setText方法设置不就行了吗,干吗这么费事啊
      

  6.   

    呵呵,基本解决了!!谢谢david2083和bayougeng,怪我没仔细研读david2083的程序^_^yuyang2007:setText是不是只能每次显示一次输入啊?支持连续的更新输入吗?好像不如楼上的两位的方法好,不过还是谢谢^_^