web-dev-qa-db-ja.com

Java-Eclipse SDKでコンソールをクリアする方法

私は広範囲に検索しましたが、機能するものが見つかりませんでした...方法があります!!!したがって、必要なのは、Eclipseのコンソールをクリアする(空にする)コードです。いいえ、50行の空白行を印刷せずにクリアします!

私はこれを見つけました:

Import import Java.io.Console;

public void ClearConsole() {
            Console console = System.console();        
            if (console == null)
                    System.out.println("Couldn't get Console object !");
            console.clear();
    }

しかし、それは私にエラーを与えます: "メソッドclear()はタイプConsoleに対して未定義です

21
Vanya Burduk

Eclipseツールでは、右クリック + clearでコンソールパネルをクリアできますが、Javaではできません。

コンソールはログツールであり、管理セキュリティのためにクリアすることはできません。

10
cl-r

私は答えに遅れるかもしれませんが、ここで私がやることができました(そしてそれは私のために働きました):

このチュートリアルに基づいてコンソールを作成しました http://wiki.Eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3F 、findConsoleメソッドを次のように変更しました。

private MessageConsole findConsole(String name) {

      ConsolePlugin plugin = ConsolePlugin.getDefault();
      IConsoleManager conMan = plugin.getConsoleManager();

      IConsole[] existing = conMan.getConsoles();
      //if console exists, clear it 
      for (int i = 0; i < existing.length; i++)
          if (name.equals(existing[i].getName())){
              ((MessageConsole) existing[i]).clearConsole(); //this is the important part
              return myConsole;
          }

      myConsole = new MessageConsole(name, null);
      conMan.addConsoles(new IConsole[]{myConsole});
      return myConsole;
   }

だから、他のボタン/コントロール/何でもリスナーに、私は持っています:

myConsole = findConsole(ASIO_RECORD_OUTPUT);
myConsoleOut = myConsole.newMessageStream();

そして、そのコードが実行されるたびに、コンソールがクリアされます。それが役に立てば幸い。

編集:言及するのを忘れて、私はRCPアプリケーションを作成するときにこれをしました!

11
deckard cain