java - 如何使 Swing JComponent 成为更大的鼠标目标?

标签 java swing mouseevent

我有一个 JPanel,其中包含一堆 Swing JComponent,包括一些可能只有一两个像素宽的 JSeparator。我想让我的用户四处拖动项目,但很难找到一两个像素宽的线。有没有一种方法可以为这些 JSeparators 提供更广泛的鼠标点击“目标”区域?我唯一能想到的就是让我的鼠标处理程序监听 JPanel 上的点击,如果有点击,则运行 JSeparators 列表,看看它们中的任何一个是否在几个像素内鼠标点击。

这应该行得通吗?有没有更好的办法?

最佳答案

加个肥EmptyBorder到组件。

如果它已经有边框,您可以使用当前边框然后使用空边框设置复合边框,或者更简单,将空边框(和监听器)添加到包含该组件的面板。后者更适用于 JButton 等组件,这些组件的边框会根据状态和焦点而变化。

关于java - 如何使 Swing JComponent 成为更大的鼠标目标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9544187/

相关文章:

java - 使用套接字远程连接两台非本地计算机

java - JTable 遮住了按钮,布局编辑需要帮助

java - 如何将Java程序转换为Applet?

java - 按下 JList 元素时弹出窗口 - Java

java - 两个日期之间的差异和当前时间的百分比java

java - Submit() 重定向到另一个页面,而 click() 不允许我访问内页

java - 遗传算法旅行商概率不断循环

c++ - mouse_event MOUSEEVENTF_LEFTDOWN 注册为选项卡而不是左键单击?

java - 如何以精确的分辨率获得 float 或 double 的鼠标位置?

java - Hibernate session REST 性能/安全性