Как мне сделать Swing JComponent большей мышью? - PullRequest
1 голос
/ 03 марта 2012

У меня есть JPanel, который содержит несколько JComponents Swing, включая некоторые JSeparators, ширина которых может составлять всего один или два пикселя.Я хочу, чтобы мои пользователи перетаскивали элементы вокруг, но может быть довольно трудно попасть в линию шириной в один или два пикселя.Есть ли способ, которым я могу дать этим JSeparators более широкую «целевую» область для щелчков мышью?Единственное, о чем я мог подумать, - это заставить мой обработчик мыши прослушивать щелчки на JPanel, и, если он есть, пробежаться по списку JSeparators, проверяя, находится ли какой-либо из них в пределах пары пикселей.щелчка мыши.

Должно ли это работать?Есть ли лучший способ?

1 Ответ

3 голосов
/ 03 марта 2012

Добавьте жир EmptyBorder к компоненту.

Если у него уже есть граница, вы можете установить составную границу, используя текущую границу, а затем пустую границу или, проще, добавить пустую границу (и прослушиватель) на панель, содержащую компонент. Последний будет лучше работать для таких компонентов, как JButton, границы которых меняются в зависимости от состояния и фокуса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...