我想用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,你可以添加MouseListeners.使用该界面并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 次 |
| 最近记录: |