2011-07-29 12 views
0

この質問の後にClick Here。 GroovyとJava用のシンプルなIDEを作成することを考えました。コードを簡単に参照のためにここに再現されていますGroovyを使ってシンプルなIDEを構築するには?

import groovy.swing.SwingBuilder 
import java.awt.BorderLayout as BL 
import static javax.swing.JFrame.EXIT_ON_CLOSE 
import org.fife.ui.rsyntaxtextarea.* 

RSyntaxTextArea textArea = new RSyntaxTextArea() 
textArea.syntaxEditingStyle = SyntaxConstants.SYNTAX_STYLE_JAVA 

swing = new SwingBuilder() 
frame = swing.frame(title:"test", defaultCloseOperation:EXIT_ON_CLOSE, size:[600,400], show:true) { 
    borderLayout() 
    panel(constraints:BL.CENTER) { 
    borderLayout() 
    scrollPane(constraints:BL.CENTER) { 
     widget textArea 
    } 
    } 
} 

は今、私は私が、ユーザによって書かれたすべてのコードのコンパイルを行うべきか、RSynataxTextAreaのオブジェクトであるtextareaにユーザーが入力したすべてのコーディングを持っていますか? Groovyでこの目的のためのクラスやそれを行う方法はありますか?

ありがとうございます。あなたはGroovyのためのソースのダウンロードのsrc/main/groovy/uiフォルダに見える

答えて

1

私は、あなたがConsoleSupportクラス内で見ればgroovyコンソールが

を作業するコードを参照してくださいよ、あなたはコンソールがない方法が表示されますそれ:

getShell()がある
protected Object evaluate(String text) { 
    String name = "Script" + counter++; 
    try { 
     return getShell().evaluate(text, name); 
    } 
    catch (Exception e) { 
     handleException(text, e); 
     return null; 
    } 
} 

public GroovyShell getShell() { 
    if (shell == null) { 
     shell = new GroovyShell(); 
    } 
    return shell; 
} 

だから、新しいGroovyShellを返しますか、すでに存在している場合は終了しています。

+0

私は自分のコードと正確に何が関係していますか? –

+0

RSyntaxTextAreaからテキストを取得し、それを 'GroovyShell'のインスタンスで' evaluate() 'しますか? –

+0

GroovyShellをインポートするために必要なすべてのパッケージは何ですか? –

関連する問題