Размер, только изменение ширины / высоты - PullRequest
15 голосов
/ 24 августа 2011

Как изменить только ширину или высоту компонента, для которого требуется объект Dimension? В настоящее время я делаю это так:

jbutton.setPreferredSize(new Dimension(button.getPreferredSize().width, 100));

Но у меня такое чувство, что я делаю это неправильно. Как лучше всего подойти к этому, если есть лучший способ?

Ответы [ 2 ]

17 голосов
/ 24 августа 2011

Прежде всего, вы не меняете размерность JButton.Вы указываете желаемый предпочтительный размер, который в конечном итоге может быть применен к вашему JButton в зависимости от LayoutManager компонента, в который он вставлен.

Что касается использования объекта Dimension, то это нормально.В конце концов, вы можете получить прямой доступ к полю измерения:

Dimension d = button.getPreferredSize();
d.height = 10;
jbutton.setPreferredSize(d); 

, но это почти то же самое.

3 голосов
/ 26 августа 2011

Я закончил тем, что делал так, как сказал Клеопатра.Не изменяя предпочитаемый размер, но позволяя менеджеру по расположению делать работу.Так как это правильный способ изменить размер компонента.

...