java我可以向JLabel添加操作侦听器吗?
我想用JLabel替换JButton,我想让我的代码在单击JLabel时执行一些操作
当我使用JButton时,我使用action listener处理对按钮的单击:
myButton.addActionListener(new clicksListener(arg1,this))
当我用myLabel
替换myButton
时,我在Eclipse中收到了以下错误消息:
The method addActionListener(ChipsListener) is undefined for the type JLabel
但我知道应该可以将单击处理程序附加到JLabel。有人知道怎么做吗
# 1 楼答案
更简单的方法是只使用JButton,因为它已经通过使用ActionListener支持此功能
您可以使用以下命令使JButton看起来像JLabel:
这种方法适用于需要处理鼠标单击的情况,因为ActionEvent保证会生成,而使用MouseListener时的as-mouseClicked事件可能不会在所有情况下生成,这可能会让用户感到困惑
# 2 楼答案
# 3 楼答案
当然。jLabel有一个方法,允许您附加MouseListener对象。MouseListener对象需要一个MouseAdapter()对象。MouseAdapter是一个抽象类,理想情况下,它可以作为一个适配器,用于创建动态监听器来完成任务
# 4 楼答案
将
MouseListener
添加到JLabel
中强>因为
JLabel
是一个Component
,所以可以向其中添加MouseListener
。使用该接口并在MouseListener
上写入mouseClicked
事件以处理单击