Вопрос для метода pack () - PullRequest
0 голосов
/ 16 июля 2010

Я создаю приложение с графическим интерфейсом, и в JFrame у меня есть 2 jcombobox и JPanel для просмотра определенных данных. Теперь, когда я вызываю метод pack () в основном классе, он помещает два jcombobox'а рядом с моей JPanel, чего я не хочу, потому что я хочу, чтобы они были на севере. Конечно, я пытался жестко закодировать его в своем коде, но он не работает после того, как я вызвал метод pack (). Есть ли альтернативы этому методу?

Ответы [ 4 ]

2 голосов
/ 16 июля 2010

Только один компонент может быть СЕВЕРНЫМ, поэтому, если вы хотите, чтобы оба ComboBoxы были СЕВЕРНЫМИ, вы должны добавить их в отдельный контейнер.Этот отдельный контейнер может быть помещен в СЕВЕР.

(опубликуйте источник для более точной помощи.)

0 голосов
/ 16 июля 2010

Вы можете избежать использования пакета, явно установив размер кадра с помощью setSize и setBounds. Тем не менее, использование пакета, как правило, является предпочтительным способом, так как он оставляет менеджер макета кадра, отвечающий за размер кадра.

При этом проблема, которую вы описываете, по-видимому, связана с правильным использованием менеджера компоновки, а не с размером кадра. Посмотрите на различные менеджеры компоновки для Swing и как их использовать: http://download.oracle.com/docs/cd/E17409_01/javase/tutorial/uiswing/layout/using.html.

0 голосов
/ 16 июля 2010

Метод pack() просто приводит к тому, что макетирование происходит , он абсолютно не связан с тем, что помещается куда.

Скорее всего, вы неправильно используете менеджеры компоновки.Покажите нам свой код, и мы скажем, что именно вы делаете неправильно.

0 голосов
/ 16 июля 2010

Все pack изменяет размер Window (в данном случае JFrame) до его предпочтительного размера и предпочтительных размеров его подкомпонентов.Чтобы контролировать фактическое расположение подкомпонентов относительно друг друга, вам нужно использовать соответствующее LayoutManager.

. Возможно, вы захотите ознакомиться с руководством Использование менеджеров по макету .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...