2
|
ivan_ivanovich_ivanoff · 技术社区 · 16 年前 |
![]() |
1
2
如果视图中的每个组件处理相同的鼠标事件,这看起来会有点棘手。也就是说,如果用户拖动
项目1
,
项目2
也会处理这些事件吗?如果我理解正确的话,你应该
你可以创建一个
然后让容器实现这个接口。然后,您的组件需要将此调用合并到相应的事件处理中:
} |
![]() |
2
3
根据您的场景,我有一个关于键盘方面的建议: 您可以使用Swing的击键功能:
通过这种方式,您可以为快捷方式注册“全局”事件处理程序 一 . 一 尽管它在您的案例中可能有一些限制。
对于鼠标事件的情况,我将创建一个递归函数,它添加一个
只是为了抓住这个概念。对于不同的组件,您可能需要不同的或多个接收器。 编辑: 对不起,我不小心说的是WindowAdapter而不是MouseAdapter。 |
![]() |
3
1
也可以使用()事件…您的主要问题是权衡,您要么在Swing句柄之前捕获事件(并从头开始编写自定义处理),要么在Swing句柄之后捕获事件(并且可能会受到一些处理的干扰),但您不能通过子类化任何东西来修改处理代码本身(或者您可以这样做吗?从来没有见过……)。 |
|
user29759326 · 如何返回递归函数中的最后一个值? 7 月前 |
|
malife89 · 将java中的字符串读取为正确的日期格式 7 月前 |
![]() |
Tim · 在java中,有没有更快的方法将字节数组写入文件? 7 月前 |
![]() |
rudraraj · java中未声明最终变量 8 月前 |
![]() |
Bala Ji · 以下BFS的实施效率如何? 8 月前 |