Как вызвать, изменяют размер JCheckBox для предотвращения нажатия на вакуум?

Когда я создаю JCheckBox в своем приложении Swing, я оставляю некоторое дополнительное пространство после его маркировки, поэтому если маркировка JCheckBox, например, 100 пикселей шириной, я делаю JCheckBox 120 пикселями для безопасности.

Проблема как во времени выполнения, не хорошо, что пользователь может нажать на вакуум после того, как маркировка JCheckBox и это могут быть на самом деле нажаты, как это:

http://imgur.com/3eMUG.png

Интересно, существует ли способ изменить размер JCheckBox во времени выполнения для точной установки тексту в нем, в зависимости от типа шрифта / используемый размер?

Это кажется необычным немного, но мне нравится заставлять вещи выглядеть прекрасными :)

Редактирование - Больше деталей:

Я использую FormLayout, и я определяю JCheckBox как это:

CellConstraints con = new CellConstraints();
contentPane.add(checkBox1, con.xywh(3, 13, 10, 1));

1
задан Kai 24 April 2013 в 12:08
поделиться

3 ответа

@trashgod верна. Если вам нужны отступы, выравнивание или интервалы в эстетических целях, вам следует использовать менеджеры компоновки, чтобы добиться этого, а не возиться с самими компонентами. Таким образом можно сделать практически любой макет, которого вы хотите достичь. Вам может потребоваться использовать GridBagLayout , что может вызвать затруднения, но это наиболее гибкий вариант.

1
ответ дан 2 September 2019 в 23:48
поделиться

для точного размещения текста внутри него, в зависимости от типа/размера используемого шрифта

Это предпочтительный размер по умолчанию для JCheckBox; просто не меняйте его.

1
ответ дан 2 September 2019 в 23:48
поделиться

Хорошо ... Спасибо всем за ответы. Я нашел подходящее решение при использовании FormLayout:

contentPane.add(checkBox1, con.xywh(3, 13, 10, 1, CellConstraints.LEFT, CellConstraints.DEFAULT));
0
ответ дан 2 September 2019 в 23:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: