Создание JFrame / JLabel с использованием синтаксиса Jython - PullRequest
2 голосов
/ 29 февраля 2012

Я хотел бы создать небольшой Java-апплет, который отображает сообщение и графику, но сделан с использованием Jython. Используя код ниже, я получаю сообщение об ошибке «TypeError: setIcon (): 1-й аргумент не может быть приведен к javax.swing.Icon»

Может кто-нибудь предложить совет по

  1. Как мне заставить этот кусок кода работать?
  2. Где я могу найти примеры Jython, которые создают окна GUI с использованием объектов Java.swing?

Большое спасибо действительно! -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 Ответ

4 голосов
/ 29 февраля 2012

Проблема в l.setIcon('lena.png'); метод setIcon() ожидает значок, а не строку. Правильный способ - создать ImageIcon и затем использовать его. Например:

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

croco.png - это тестовое изображение в моей системе.

...