Groovy проблема с classpath - PullRequest
       18

Groovy проблема с classpath

1 голос
/ 14 июня 2011

Я запустил следующий код на этой странице RsyntaxTextArea , используя Java, и я запускаю программу именно так, как было упомянуто на этом сайте. И я получаю вывод, как и предполагалось. Но я попытался изменить этот код Java в код Groovy, что-то вроде:

import groovy.swing.SwingBuilder
import javax.swing.*
import java.awt.*
swing =  new SwingBuilder()
frame = swing.frame(title : "test", defaultCloseOperation:JFrame.EXIT_ON_CLOSE, pack:true, show : true, size :[100,100])
{
        panel
        {
             RSyntaxTextArea textArea = new RSyntaxTextArea();
             textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);
        }
}

И когда я пытаюсь запустить этот скрипт следующим образом:

groovyc -classpath rsyntaxtextarea.jar TextEditorDemo.groovy 

Я получаю ошибки о том, что:

groovy: 9: unable to resolve class RSyntaxTextArea 
 @ line 9, column 19.
        RSyntaxTextArea textArea = new RSyntaxTextArea();
                     ^

/home/anto/Groovy/Rsyntax/ST.groovy: 9: unable to resolve class RSyntaxTextArea 
 @ line 9, column 30.
        RSyntaxTextArea textArea = new RSyntaxTextArea();
                                ^

/home/anto/Groovy/Rsyntax/ST.groovy: 10: unable to resolve class RSyntaxTextArea 
 @ line 10, column 7.
         textArea.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_JAVA);

Полагаю, я ошибся при запуске программы. Как мне запустить программу в этом случае, определив также путь к классам.

Ответы [ 2 ]

3 голосов
/ 14 июня 2011

Не похоже, что вы импортируете пакет для RSyntaxTextArea. Вы пытались добавить следующие импорты в вашу программу?

import org.fife.ui.rtextarea.*;
import org.fife.ui.rsyntaxtextarea.*;
1 голос
/ 14 июня 2011

Этот код должен делать то, что вы хотите ... Вам нужно было добавить RSyntaxTextArea в представление (используя метод widget)

Вам также нужно было добавить его в JScrollPane, чтобы он хорошо прокручивался при заполнении.

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

1010 * редактировать *

Без использования виджета ваш код должен выглядеть примерно так:

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()
    sp = scrollPane( constraints:BL.CENTER )
    sp.viewport.add textArea
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...