分享

扩展控制台(org.eclipse.ui.console.consoleFactories)

 jinzq 2007-01-18
1 : plugin.xml:
   <extension
         point="org.eclipse.ui.console.consoleFactories">
      <consoleFactory
            class="com.hnjchina.intro.ConsoleFactory"
            label="样式显示台"/>
   </extension>

2: Perspective.createInitialLayout:
    public void createInitialLayout(IPageLayout layout) {
        layout.addView(IConsoleConstants.ID_CONSOLE_VIEW, IPageLayout.BOTTOM,0.70f, layout.getEditorArea());
    }
3.implements IConsoleFactory类:
import java.io.IOException;
import java.io.PrintStream;

import org.eclipse.ui.console.ConsolePlugin;
import org.eclipse.ui.console.IConsole;
import org.eclipse.ui.console.IConsoleFactory;
import org.eclipse.ui.console.IConsoleManager;
import org.eclipse.ui.console.MessageConsole;
import org.eclipse.ui.console.MessageConsoleStream;

public class ConsoleFactory implements IConsoleFactory {

    static MessageConsole console = new MessageConsole("样式控制台", null);
   
/*    public void openConsole() {
        showConsole();
    }
    public static void showConsole() {
       if (console != null) {
         IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
         IConsole[] existing = manager.getConsoles();
         boolean exists = false;
         for (int i = 0; i < existing.length; i++) {
           if (console == existing[i])
               exists = true;
         }
         if (!exists) {
           manager.addConsoles(new IConsole[] { console });
         }
         manager.showConsoleView(console);
   
         MessageConsoleStream stream = console.newMessageStream();
         try {
            stream.write("测试!");
        } catch (IOException e) {
            e.printStackTrace();
        }
         System.setOut(new PrintStream(stream));
       }
    }
    public static void closeConsole() {
       IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
       if (console != null) {
         manager.removeConsoles(new IConsole[] { console });
       }
    }
   
    public static MessageConsole getConsole() {
       return console;
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多