Jlabel Extra Clickable Space
Я создаю кнопки, используя jlabels, так что я могу сделать изображение в виде кнопки. Единственная проблема заключается в том, что jlabels квадратные, поэтому, если я щелкну где-нибудь в квадрате, где изображение не содержится, он все равно запускает jlabel.MouseClickEvent. Есть ли какое-то исправление для этого или другой компонент, который я мог бы использовать?
Ex. Если я щелкну это в углу, где круг не отображается, но квадрат все еще там, то событие запускается.
Какие-либо исправления / различные компоненты для использования? Спасибо!
1 ответ
Если вы просто используете простые формы для изображений, то вы можете использовать Shape Component
найдено в игре с формами.
ShapeComponent
будет реагировать только на события мыши в пределах формы.
В противном случае решение состоит в том, чтобы переопределить contains(...)
метод вашей JLabel, чтобы проверить, находится ли точка мыши в границах вашего изображения, или в вашем случае, если пиксель в этом месте не прозрачен.