Могу ли я исправить ширину JRadioButton?

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


person Roman    schedule 29.03.2010    source источник
comment
Это ваш второй вопрос по этой теме. Это все еще не ясно. Если вам нужна реальная помощь, опубликуйте свой SSCCE: sscce.org. В противном случае во всех ответах будет сказано, что прочитайте учебник Swing по использованию менеджеров макетов, потому что в вашем вопросе недостаточно информации для предоставления пользовательского ответа. Вы задали достаточно вопросов на форуме, вы уже должны это знать.   -  person camickr    schedule 29.03.2010
comment
@camickr, я разместил код: stackoverflow.com/questions/2536873/   -  person Roman    schedule 29.03.2010
comment
Не для этого вопроса вы не сделали. Так вы говорите, что у вас на самом деле есть 3 публикации на эту тему? Мы не собираемся искать по всему форуму, предполагая, что вы могли разместить код в каком-то другом двойном сообщении. Вся информация должна быть размещена в одном посте, чтобы все знали, о чем спрашивали и что предлагали. Если вы не получили ответ в своем первом сообщении, это потому, что вы не задали четкий, понятный вопрос, и нет причин загромождать форумы, задавая еще один вопрос. Научитесь правильно задавать вопрос с первого раза.   -  person camickr    schedule 29.03.2010
comment
@camickr, было бы проще, если бы вы сказали, что именно вам непонятно. Тогда я могу быть более ясным. Но если вы просто жалуетесь, что непонятно, то я не могу помочь, потому что не умею читать мысли. Я думаю, что мой вопрос ясен, и я не знаю, почему он вам не ясен (потому что вы мне этого не говорите). Я не знаю почему. Либо это секрет, либо, может быть, вы просто не знаете, что вам непонятно?   -  person Roman    schedule 29.03.2010
comment
Нет, в мои обязанности не входит постоянно просить вас разъяснить ваш вопрос. Вы должны сделать это правильно с первого раза, поэтому нет необходимости в нескольких публикациях. Частью публикации четкого вопроса является публикация SSCCE, чтобы мы могли выполнить код, когда ваше словесное описание отсутствует. Поскольку у вас 3 поста по теме, очевидно, вопрос НЕ ясен, так как использовать менеджеры компоновки легко, когда требование полностью понятно. И поскольку вы продолжаете НЕ принимать предыдущие ответы, я не собираюсь изо всех сил пытаться вам помочь. Вы получаете то, что даете.   -  person camickr    schedule 29.03.2010


Ответы (1)


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

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

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

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

person Nivas    schedule 29.03.2010
comment
Я пытаюсь передать код. Я также пытался использовать макет сетки, но, как и любой другой макет, он принимает размер окна и меняет пропорции его элементов (отношение между шириной и высотой включенных элементов). Например, я также мог бы использовать вертикальный порядок с использованием рамки, но тогда у меня та же проблема: изменяется пропорция включенных элементов. - person Roman; 29.03.2010