2012-05-09 39 views
19

私は広範囲に検索しましたが、動作するものは見つけられませんでした。 方法があります!ですから、私が必要とするのはEclipseでコンソールをクリアするコードです(空白にします)。そして、50行の空白行を印刷せずに、それをクリアします。Javaでコンソールをクリアする方法 - Eclipse SDK

私はこれが見つかりました:

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(); 
    } 

をしかし、それは私にエラーを与える:Eclipseのツールで

+0

https://bugs.eclipse.org/bugs/show_bug.cgi?id=122429 –

+1

申し訳ありませんが、clear()メソッドがjava.io.Consoleに定義されていませんhttp://docs.oracle.com/javase /7/docs/api/java/io/Console.html – lfergon

答えて

9

方法は明らかに()型コンソールのために定義されていない」あなたは、コンソールパネルをクリアすることができます右クリック + クリアただし、Javaではありません。

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

+0

OPは、プログラムによってプログラムを実行する方法を探しています。また、Eclipseコンソールの右上隅にある少し灰色の十字をクリックしてクリアすることもできます:) – Jerome

+1

@Jerome OPについてEclipseはあなたに怠惰な解決策を教えてくれました。 –

8

私は私の答えで遅刻するが、ここで私はやって管理するものである(そして、それは私のために働いていた)ことがあります。

私はこのチュートリアル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アプリケーションの作成時にこれを覚えました。

関連する問題