我想用JLabel替换JButton,我希望我的代码在单击JLabel时执行一些操作.
当我使用JButton时,我使用了动作监听器来处理按钮上的点击:
myButton.addActionListener(new clicksListener(arg1,this))
Run Code Online (Sandbox Code Playgroud)
当我替换为时myButton
,myLabel
我在Eclipse中收到以下错误消息:
对于JLabel类型,未定义方法addActionListener(ChipsListener)
但我知道应该可以将单击处理程序附加到JLabel.有人知道怎么做吗?
Eri*_*son 26
添加MouseListener
到JLabel
.
因为JLabel
是a Component
,你可以添加MouseListener
s.使用该界面并mouseClicked
在您的上面编写事件MouseListener
来处理点击.
cam*_*ckr 12
更简单的方法是使用JButton,因为它已经通过使用ActionListener支持此功能.
您可以使用以下命令使JButton看起来像JLabel:
button.setBorderPainted( false );
Run Code Online (Sandbox Code Playgroud)
这种方法适用于您想要处理mouseClick的情况,因为保证生成ActionEvent,而使用MouseListener时的mouseClicked事件可能无法在所有情况下生成,这可能会使用户感到困惑.
kup*_*aff 11
/*add a mouselistener instead and listen to mouse clicks*/
jlable.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Yay you clicked me");
}
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
46825 次 |
最近记录: |