我已将Eclipse设置为使用Jython,如此处所述:

http://www.jython.org/jythonbook/en/1.0/JythonIDE.html(在最小配置下)

我将尽最大努力遵循本教程,但是由于某些原因,IDE无法理解Java导入。 javax.swing import JFrame, JLabel行在JFrame和JLabel下划线,表示未解决。

完整代码:

# -*- coding: utf-8 -*-
import sys
from optparse import OptionParser

greetings = dict(en=u'Hello %s!',
                 es=u'Hola %s!',
                 fr=u'Bonjour %s!',
                 pt=u'Al %s!')

uis = {}
def register_ui(ui_name):
    def decorator(f):
        uis[ui_name] = f
        return f
    return decorator

def message(ui, msg):
    if ui in uis:
        uis[ui](msg)
    else:
        raise ValueError("No greeter named %s" % ui)

def list_uis():
    return uis.keys()

@register_ui('console')
def print_message(msg):
    print msg

@register_ui('window')
def show_message_as_window(msg):
    from javax.swing import JFrame, JLabel
    frame = JFrame(msg,
                   defaultCloseOperation=JFrame.EXIT_ON_CLOSE,
                   size=(100, 100),
                   visible=True)
    frame.contentPane.add(JLabel(msg))

if __name__ == "__main__":
    parser = OptionParser()
    parser.add_option('--ui', dest='ui', default='console',
                      help="Sets the UI to use to greet the user. One of: %s" %
                      ", ".join("'%s'" % ui for ui in list_uis()))
    parser.add_option('--lang', dest='lang', default='en',
                      help="Sets the language to use")
    options, args = parser.parse_args(sys.argv)
    if len(args) < 2:
        print "Sorry, I can't greet you if you don't say your name"
        sys.exit(1)

    if options.lang not in greetings:
        print "Sorry, I don't speak '%s'" % options.lang
        sys.exit(1)

    msg = greetings[options.lang] % args[1]

    try:
        message(options.ui, msg)
    except ValueError, e:
        print "Invalid UI name\n"
        print "Valid UIs:\n\n" + "\n".join(' * ' + ui for ui in list_uis())
        sys.exit(1)


运行它时,我选择了Jython。所以我不明白为什么Eclipse不明白。我是否需要在每个Jython项目中包括Jython JAR文件...?

提前致谢。

最佳答案

您是否为此创建了一个新的PyDev项目?没有这些,Eclipse将无法找到您完整的Jython安装,这可以解释这些内容。在我的环境(Eclipse Kepler,PyDev和Jython 2.5.2)中,它可以正常工作。

关于java - 带有Jython的Eclipse无法理解Java导入,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18275332/

10-12 22:04