2010-03-29 7 views
0

У меня есть порты JPanels, которые нужно заказать по вертикали. Для этого я хочу исправить ширину JPanels. Потому что, если они слишком коротки по сравнению с шириной окон, они будут идти горизонтально (один за другим), и я не хочу этого. В настоящее время ширина JPanel не является постоянной, поскольку ширина JRadioButton (включенная в JPabel) не является постоянной. Как я могу сделать ширину константы JRadioButton? На данный момент он не является постоянным из-за метки (которая может быть разной).Могу ли я исправить ширину JRadioButton?

+1

Это ваш второй вопрос на эту тему. Это еще не ясно. Если вам нужна реальная помощь, тогда опубликуйте свой SSCCE: http://sscce.org. В противном случае все ответы скажут «прочитайте руководство Swing по использованию менеджеров макетов», потому что у вас вопрос не содержит почти достаточной информации для предоставления настраиваемого ответа. Вы задали достаточно вопросов на форуме, о котором вы должны это знать. – camickr

+0

@camickr, я отправил код: http://stackoverflow.com/questions/2536873/how-can-i-set-size-of-a-button – Roman

+1

Не для этого вопроса вы этого не сделали. Итак, вы говорите, что у вас есть 3 публикации по этой теме? Мы не собираемся искать по всему форуму, угадывая, что вы можете опубликовать код на какой-то другой «двойной почте». Вся информация должна быть размещена в одном сообщении, чтобы все знали, что было предложено и предложено. Если вы не получите ответ в своем первом сообщении, потому что вы не задаете ясный, понятный вопрос, и нет причин помешать форуму, задав еще один вопрос. Научитесь правильно задавать вопрос в первый раз. – camickr

ответ

1

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

Попробуйте использовать GridBagLayout, его не так как могут рассказывать уроки/статьи. Один или два часа, потраченных на изучение этого, будут очень полезны. Это поможет вам организовать ваши компоненты очень гибким способом.

Btw, как вы разрабатываете свои интерфейсы? Если вы используете IDE (Eclipse + plugins или NetBeans), тогда IDE должна помочь вам выполнить прокладку (скажем, через GroupLayout).

Если вы пытаетесь передать код GUI, тогда GridBagLayout - лучший способ получить «контроль».

+0

Я пытаюсь передать код. Я также попытался использовать Grid Layout, но, как и любой другой макет, он принимает размер окна и изменяет пропорции его элементов (отношение между шириной и высотами включенных элементов). Например, я также мог бы использовать вертикальный порядок с использованием макета границы, но тогда у меня есть та же проблема: он меняет пропорцию включенных элементов. – Roman

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