2013-03-27 3 views
0

Мои JButtons все изменяемы по размеру (когда я изменяю размер JFrame, кнопки JButtons настраиваются на нужный размер), однако я столкнулся с проблемой, что значки, которые я установил для этих JButtons, не изменяются. Они сохраняют ту же высоту и ширину, которые они имели, когда я их инициализировал. Есть ли способ сделать иконку JButton масштабируемой с размером JButton?Изменение размера значка кнопки

Заранее спасибо.

ответ

1

Я думаю, следующий будет работать, найти с помощью простого поиска Google ...

Image img = icon.getImage() ; 
Image newimg = img.getScaledInstance(NEW_WIDTH, NEW_HEIGHT, java.awt.Image.SCALE_SMOOTH) ; 
icon = new ImageIcon(newimg); 

Смотрите здесь: Auto-resizing JButton Icon и resizing a ImageIcon in a JButton

+0

Могу ли я что-то отсутствует, или это не автоматическое изменение размера значок? Мне все равно придется вводить значения, чтобы изменить размер изображения. В то время как JButton auto изменяет размер, когда я изменяю размер JFrame. Это единственный способ изменить размер значка? –

1

Реализации интерфейса Icon представляют «Небольшой фиксированный размер* рисунок, обычно используемый для украшения компонентов. " Компонент, удерживающий значок, обычно настраивает свой предпочтительный размер в соответствии с размерами значков и относительным позиционированием. Кнопки, которые изменяют размер с помощью контейнера, делают это, если макет контейнера игнорирует предпочтительный размер компонента, например. GridLayout. Вместо этого рассмотрите JComponent, который отображает его содержимое таким образом, который масштабируется до его текущего размера. Пример включает JDigit и LayoutTest.

* курсив

Смежные вопросы