Java SE で開発しているアプリケーションでは、Luaj を使用して機能を実装しています (これはデータ コレクター アプリケーションです)。Java アプリは、デバイスの COM ポートを読み取り、アプリケーションのユーザーによって作成された Lua イベント ハンドラーにデータを渡します。ユーザー インターフェイスの一部も Lua から構築されていますが、JButton などの Swing コンポーネントに ActionListener オブジェクト (Lua にも実装) を追加する際に問題が発生しています。
私が現在立ち往生しているコード:
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)