JLabel鼠标点击图标或文字

时间:2012-12-08 12:19:49

标签: java swing jlabel imageicon

点击JLabel后,我想了解点击是"Icon part"还是Text part"的{​​{1}},以便不同的操作可以有没有一种聪明的方法呢?或者我只需要用图标和文字的坐标来解决它?

1 个答案:

答案 0 :(得分:3)

+1来自@aymeric评论。

  

如何拥有两个不同的JLabel

但是我明白为什么你会犹豫

  

否定:需要维护2个标签。

我的聪明的(:P)解决方案是创建自己的抽象组件 - 它接受图标和文本作为构造函数的参数 - 通过扩展JPanel而不是添加2 {{1转到JLabel,每个标签都有JPanel,它调用抽象方法MouseAdapter(因此任何实现类都必须覆盖这些方法)。

这是我做的一个例子:

enter image description here

xxxClicked()