Я делаю приложение в Jython, где я пытаюсь захватить события мыши на JLabel. У меня есть JFrame, который содержит JLabel, но когда я пытаюсь добавить слушателя мыши, я получаю:
TypeError: write only attribute
Главное окно:
class Commander(JFrame):
...
self.image = ImageIcon()
self.label = JLabel(self.image)
self.mouseListener = ScreenMouseListener()
self.label.addMouseListener(self.mouseListener) <- This line causes the TypeError
...
Слушатель мыши расширяет MouseAdapter:
class ScreenMouseListener(MouseAdapter):
def mousePressed(self, event):
print "Mouse pressed"
Поиск ошибки приводит меня к PyBeanEvent , но я не понимаю, почему это происходит. Какой атрибут только для записи?
Редактировать: После удаления строки, вызвавшей ошибку, я заметил, что вызывается функция mousePressed! Возможно, "mouseListener" является свойством JFrame?