В приложении, которое я разрабатываю на Java SE, я использую Luaj для реализации функциональности (это приложение для сбора данных). Приложение Java считывает COM-порт устройства и передает данные обработчикам событий Lua, которые записываются пользователем приложения. Часть пользовательского интерфейса также построена из Lua, однако у меня возникают проблемы с добавлением объектов ActionListener (также реализованных в Lua) в компоненты Swing, такие как JButton.
Код, на котором я сейчас застрял:
button = luajava.newInstance("javax.swing.JButton","test")
visuals:getPanel():add(button)
Это создает объект JButton и помещает его в компонент JPanel. Я бы хотел также определить слушателя действия для этой кнопки в Lua.
Есть идеи, как мне это сделать?
Я попробовал следующее, но оно, очевидно, не работает.
al = {}
function al.actionPerformed(ev)
print("test")
end
button.addActionListener(al)