点击JLabel
后,我想了解点击是"Icon part"
还是Text part"
的{{1}},以便不同的操作可以有没有一种聪明的方法呢?或者我只需要用图标和文字的坐标来解决它?
答案 0 :(得分:3)
+1来自@aymeric评论。
如何拥有两个不同的JLabel
但是我明白为什么你会犹豫
否定:需要维护2个标签。
我的聪明的(:P)解决方案是创建自己的抽象组件 - 它接受图标和文本作为构造函数的参数 - 通过扩展JPanel
而不是添加2 {{1转到JLabel
,每个标签都有JPanel
,它调用抽象方法MouseAdapter
(因此任何实现类都必须覆盖这些方法)。
这是我做的一个例子:
xxxClicked()