0
A
回答
0
謝謝!一個簡單的println重定向到新的printstream就可以做到。這是代碼。該類將創建一個內部框架,該框架將顯示包含所有sysout和syserr語句的文本區域。
public class ConsoleFrame extends JInternalFrame
{
JTextArea outArea = new JTextArea(300,300);
static JInternalFrame cons;
public ConsoleFrame()
{
JScrollPane pain = new JScrollPane(outArea);
//pain.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_ALWAYS);
this.add(pain);
this.setVisible(true);
this.setSize(785,255);
this.setTitle("Groovy Console");
this.closable = false;
this.maximizable = false;
this.isSelected = true;
this.resizable = false;
BasicInternalFrameUI ui = (BasicInternalFrameUI)this.getUI();
Component north = ui.getNorthPane();
MouseMotionListener[] actions =
(MouseMotionListener[])north.getListeners(MouseMotionListener.class);
for (int i = 0; i < actions.length; i++)
north.removeMouseMotionListener(actions[i]);
this.setFocusable(false);
System.setOut(new PrintStream(new JTextAreaOutputStream(outArea)));
System.setErr(new PrintStream(new JTextAreaOutputStream(outArea)));
setConsole(this);
}
static public JInternalFrame getConsole(){
return cons;
}
public void setConsole(JInternalFrame console){
cons = console;
}
public class JTextAreaOutputStream extends OutputStream {
JTextArea ta;
public JTextAreaOutputStream(JTextArea t) {
super();
ta = t;
}
public void write(int i) {
ta.append(Character.toString((char)i));
}
public void write(char[] buf, int off, int len) {
String s = new String(buf, off, len);
ta.append(s);
}
}
}
1
您的解決方案將取決於您如何實例化groovyConsole以及如何以及爲何要訪問它。
當您說內容時,是指從控制檯運行腳本或在控制檯本身的編輯器區域顯示的腳本的輸出?
請注意,groovy控制檯本身使用一個swing builder實例化的textareas和編輯器窗格集。請參閱源代碼:http://svn.codehaus.org/groovy/trunk/groovy/groovy-core/src/main/groovy/ui/Console.groovy
請參閱如何創建控制檯的主要方法。如果你在你自己的代碼中這樣做,並保持對控制檯對象的引用,你應該能夠訪問各種文本區域的內容。
相關問題
- 1. VB.NET打印格式化的表格在控制檯窗口
- 2. 在控制檯上打印(導軌s)
- 3. 在控制檯上打印NSLog符號?
- 4. 在控制檯上打印爲空
- 5. 在OSGi控制檯上打印消息
- 6. log4net BasicConfigurator未在控制檯上打印
- 7. 在控制檯上打印矢量
- 8. 如何打印控制字符在控制檯窗口
- 9. Jenkins:System.out.println沒有在控制檯窗口上打印任何東西
- 10. 向控制檯打印大型表格
- 11. jline2在Telnet控制檯上打印「\ n」時打印出「^ J」
- 12. Java庫在控制檯上構建和打印表格?
- 13. 使用控制檯在Windows XP上以UTF8格式打印python
- 14. 在LC3中打印控制檯寄存器的內容彙編
- 15. 如何在Xcode控制檯中打印反彙編寄存器
- 16. Chrome編輯器在編輯css時始終打開並關注控制檯
- 17. 將JavaScript窗體打印到控制檯上
- 18. Hamcrest - 打印到控制檯
- 19. C++打印→Windows控制檯
- 20. 取消控制檯打印
- 21. 控制檯打印多次
- 22. 打印出Gremlin 3.1.1結果Groovy沒有Gremlin控制檯
- 23. 如何在斷點上將控件打印到控制檯上?
- 24. 在Ipython Qt控制檯sp.info不在控制檯內部打印
- 25. Chrome控制檯+文本編輯器
- 26. Eclipse:作爲編輯器選項卡的控制檯窗口
- 27. 在Windows上安裝KAA(python控制檯編輯器)
- 28. 如何在文本編輯器上查看Unity控制檯?
- 29. 如何在控制檯窗口中打印sharepoint list項目
- 30. 如何在Scilab控制檯窗口中打印消息?