2012-05-09 41 views
19

Tôi đã tìm kiếm xa và rộng, nhưng không tìm thấy thứ gì đó hoạt động ... Có phải là một cách! Vì vậy, những gì tôi cần là một mã mà xóa giao diện điều khiển trong Eclipse (làm cho nó trống). Và KHÔNG, không in 50 dòng trống, R CLE RÀNG!Làm thế nào để xóa giao diện điều khiển trong Java - Eclipse SDK

Tôi thấy điều này:

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

Nhưng nó mang lại cho tôi một lỗi: "Phương pháp rõ ràng() là undefined cho các loại điều khiển"

+0

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

+1

Xin lỗi, nhưng phương thức clear() không được định nghĩa cho java.io.Console http://docs.oracle.com/javase /7/docs/api/java/io/Console.html – lfergon

Trả lời

9

Trong công cụ Eclipse bạn có thể xóa giao diện điều khiển bảng điều khiển bằng cách nhấp chuột phải + xóa nhưng không phải trong Java.

Bàn điều khiển là công cụ nhật ký, không thể xóa nó để bảo mật quản trị.

+0

OP đang tìm cách để làm điều đó theo chương trình. Bạn cũng có thể nhấp vào chữ thập nhỏ màu xám ở góc trên bên phải của giao diện điều khiển Eclipse để xóa nó :) – Jerome

+1

@Jerome Như OP đã nói về Eclipse bạn đưa ra giải pháp lười nhất. –

8

Tôi có thể đến muộn với câu trả lời của tôi, nhưng đây là những gì tôi cố gắng làm (và nó làm việc cho tôi):

Tôi tạo ra giao diện điều khiển của tôi dựa trên hướng dẫn này http://wiki.eclipse.org/FAQ_How_do_I_write_to_the_console_from_a_plug-in%3F, và sửa đổi phương pháp findConsole để trông giống như này:

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

Vì vậy, trong người nghe một số nút khác/kiểm soát/bất cứ điều gì, tôi có:

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

và bất cứ khi nào mà đoạn mã được thực thi , giao diện điều khiển của tôi bị xóa. Hy vọng nó giúp.

chỉnh sửa: Quên đề cập đến, tôi đã thực hiện việc này khi tạo ứng dụng RCP!

Các vấn đề liên quan