国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Redirect output(stdout/stderr) to a frame

2019-11-18 14:51:26
字體:
來源:轉載
供稿:網友
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class RedirectedFrame extends Frame {
    TextArea aTextArea = new TextArea();
    PRintStream aPrintStream  =
       new PrintStream(
         new FilteredStream(
           new ByteArrayOutputStream()));

    boolean logFile;

    RedirectedFrame(boolean logFile) {
       this.logFile = logFile;
       System.setOut(aPrintStream);
       System.setErr(aPrintStream);
       setTitle("Error message");
       setSize(500,300);
       setLayout(new BorderLayout());
       add("Center" , aTextArea);
       displayLog();
       addWindowListener
          (new WindowAdapter() {
             public void windowClosing(WindowEvent e) {
                dispose();
                }
             }
          );
       }

    class FilteredStream extends FilterOutputStream {
       public FilteredStream(OutputStream aStream) {
          super(aStream);
          }

       public void write(byte b[]) throws IOException {
          String aString = new String(b);
          aTextArea.append(aString);
          }

       public void write(byte b[], int off, int len) throws IOException {
          String aString = new String(b , off , len);
          aTextArea.append(aString);
          if (logFile) {
             FileWriter aWriter = new FileWriter("error.log", true);
             aWriter.write(aString);
             aWriter.close();
             }
          }
       }

    public void displayLog() {
       Dimension dim = getToolkit().getScreenSize();
       Rectangle abounds = getBounds();
       Dimension dd = getSize();
       setLocation((dim.width - abounds.width) / 2,
          (dim.height - abounds.height) / 2);
       setVisible(true);
       requestFocus();
       }

    public static void main(String s[]){
       try {
          // force an exception for demonstration purpose
          Class.forName("unknown").newInstance();
          }
       catch (Exception e) {
          // for applet, always RedirectedFrame(false)
          RedirectedFrame r = new RedirectedFrame(true);
          e.printStackTrace();
          }
       }
    }

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 开封县| 故城县| 乐昌市| 花莲县| 宁德市| 吉林省| 乌兰察布市| 盐津县| 蓬莱市| 永兴县| 南川市| 和平县| 兴山县| 临颍县| 巩义市| 安仁县| 林州市| 宁波市| 葫芦岛市| 灵丘县| 阜康市| 安多县| 始兴县| 甘谷县| 金寨县| 大邑县| 班戈县| 双江| 怀仁县| 晋城| 墨脱县| 湘西| 台江县| 西乌珠穆沁旗| 项城市| 崇左市| 英山县| 姜堰市| 贵南县| 白城市| 秦安县|