使用Jython语法创建JFrame / JLabel

时间:2012-02-29 13:37:15

标签: java swing jython jlabel

我想创建一个显示消息和图形的小型Java小程序,但是使用Jython完成。使用下面的代码我收到错误消息“TypeError:setIcon():1st arg无法强制转换为javax.swing.Icon”

任何人都可以提供有关

的建议
  1. 我如何才能让这段代码工作?
  2. 我可能会在哪里找到使用Java.swing对象构建GUI窗口的Jython示例?
  3. 非常感谢! -thescoop。

    #############################
    from javax.swing import JFrame;
    from javax.swing import *;
    from java.awt import *;
    
    jf = JFrame();
    jf.setSize(500,500);
    jf.setLocation(100, 50);
    jf.setTitle('This is the title');
    jf.setLayout(FlowLayout());
    l = JLabel();
    l.setIcon('lena.png');
    jf.add(l);
    jf.pack();
    jf.setVisible(True);
    

1 个答案:

答案 0 :(得分:4)

问题出在l.setIcon('lena.png'); setIcon()方法需要Icon而不是字符串。正确的方法是创建ImageIcon然后使用它。例如:

ico = ImageIcon('croco.png');
l.setIcon(ico);

croco.png是我系统上的测试图像。