Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
与Jython的Eclipse不';我不懂Java导入_Java_Python_Eclipse_Jython - Fatal编程技术网

与Jython的Eclipse不';我不懂Java导入

与Jython的Eclipse不';我不懂Java导入,java,python,eclipse,jython,Java,Python,Eclipse,Jython,我已将Eclipse设置为使用Jython,如下所述: (在最小配置下) 我尽可能地遵循本教程,但由于某些原因,IDE不理解Java导入。行javax.swing import JFrame,JLabel将JFrame和JLabel下划线为未解析 全部代码: # -*- coding: utf-8 -*- import sys from optparse import OptionParser greetings = dict(en=u'Hello %s!',

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

(在最小配置下)

我尽可能地遵循本教程,但由于某些原因,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)
#-*-编码:utf-8-*-
导入系统
从optpasse导入OptionParser
问候语=dict(en=u'Hello%s!',
es=u'Hola%s!',
fr=u'Bonjour%s!',
pt=u'Al%s!')
uis={}
def寄存器(用户界面名称):
def装饰器(f):
ui[ui_name]=f
返回f
返回装饰器
def消息(用户界面,消息):
如果ui中有ui:
用户界面[用户界面](味精)
其他:
raise VALUERROR(“没有名为%s”%ui)的迎宾员)
def list_uis():
返回ui.keys()
@注册用户界面(“控制台”)
def打印消息(消息):
打印味精
@注册用户界面(“窗口”)
def显示消息作为窗口(消息):
从javax.swing导入JFrame,JLabel
frame=JFrame(msg,
defaultCloseOperation=JFrame.EXIT\u ON\u CLOSE,
大小=(100100),
可见=真实)
frame.contentPane.add(JLabel(msg))
如果名称=“\uuuuu main\uuuuuuuu”:
parser=OptionParser()
parser.add_选项('--ui',dest='ui',default='console',
help=“设置用于问候用户的UI。其中一个:%s”%
“,”.join(“%s”%ui用于列表中的ui_uis()))
添加选项('--lang',dest='lang',default='en',
help=“设置要使用的语言”)
选项,args=parser.parse_args(sys.argv)
如果len(args)<2:
打印“对不起,如果你不说出你的名字,我就不能问候你”
系统出口(1)
如果options.lang不在问候语中:
打印“对不起,我不会说'%s'”%options.lang
系统出口(1)
msg=问候语[options.lang]%args[1]
尝试:
消息(options.ui,msg)
除ValueError外,e:
打印“无效的UI名称\n”
打印“有效的ui:\n\n”+“\n”。加入('*'+ui用于列表中的ui_UIs())
系统出口(1)
当我运行它时,我选择了Jython。所以我不明白为什么Eclipse不明白。我是否需要在每个Jython项目中包含Jython JAR文件


提前谢谢

您是否为此创建了新的PyDev项目?否则,Eclipse将无法找到完整的Jython安装,这可以解释下划线。在我的环境(EclipseKepler、PyDev和Jython2.5.2)中,它工作正常