Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
 Аватар для soundtrack
42 / 42 / 12
Регистрация: 15.12.2011
Сообщений: 131

Расположение компонентов. Менеджера компоновки GridBagLayout

30.01.2014, 00:28. Показов 1814. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Хочу основательно разобраться с таким новым для меня понятием как менеджер компоновки. Пока читаю всяческую литературу - всё понятно. Чтобы перейти от теории к практике придумал для себя простенькую задачку секундомера, чтобы разобраться с принципами размещения.

Менеджер компоновки GridBagLayout(). Хочу расположить кнопки "приклееными" к верхним краям рабочей области слева и справа
Части кода:
Java
1
2
3
4
5
6
7
8
9
10
11
12
JPanel contentSec = new JPanel();
...
JTabbedPane jtp;
...
jtp.addTab("Секундомер", icon, 
                contentSec, "Отсчет времени с нуля");
...
contentSec.setLayout(new GridBagLayout());
...
contentSec.add(jbtnStart, new GridBagConstraints(0, 0, 1, 1, 0, 0,
                GridBagConstraints.NORTHWEST, GridBagConstraints.NONE,
                new Insets(5, 5, 5, 5), 0, 0));
Ожидаю размещения кнопки СТАРТ в левом верхнем, получаю её зависшей в пространстве. При изменении размеров ситуация подтверждается. Помогите разобраться, что делаю неправильно?
Миниатюры
Расположение компонентов. Менеджера компоновки GridBagLayout  
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.01.2014, 00:28
Ответы с готовыми решениями:

Расположение элементов в ячейке таблицы GridBagLayout
Подскажите , непонимаю почему , меня неслушается менеджер расмещения хочу подвинуть наверх таблицу в самый верх она при полном экране...

Расположение компонентов c GridBagLayout менеджером
Пожалуйста подскажите :cry:, как настроить расположение компонентов на панели с менеджером GridBagLayout. Лейбл с Текстом должен быть по...

Swing-приложение (расположение компонентов, GridBagLayout)
Помогите, пожалуйста, разобраться почему некорректно отображаются компоненты (картинки во вложении)? Размеры текстовых полей заданы,...

4
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.01.2014, 09:45
0
 Аватар для soundtrack
42 / 42 / 12
Регистрация: 15.12.2011
Сообщений: 131
30.01.2014, 11:00  [ТС]
Skipy, с этого ресурса, в основном и читал Не пойму в чём разница между вашим кодом для, изображения, например, и моим для кнопки. В чём причина?
0
 Аватар для soundtrack
42 / 42 / 12
Регистрация: 15.12.2011
Сообщений: 131
30.01.2014, 11:38  [ТС]
Почему в результате выполнения вашего кода и моего получаются принципиально разные результаты? Подскажите, в какую сторону копать?
Ваш код:
Java
1
2
3
4
JPanel content = new JPanel(new GridBagLayout());
        JLabel lblImage = new JLabel(new ImageIcon(getClass().getResource("/image.png")));
        content.add(lblImage, new GridBagConstraints(0, 0, 1, 2, 0, 0, GridBagConstraints.NORTH,
            GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
мой код:
Java
1
2
3
4
5
6
7
JPanel contentSec = new JPanel(new GridBagLayout());
JTabbedPane jtp = new JTabbedPane ();
jtp.addTab("Секундомер", icon, 
                contentSec, "Отсчет времени с нуля");
contentSec.add(jbtnStart, new GridBagConstraints(0, 0, 1, 1, 0, 0,
                GridBagConstraints.NORTH, GridBagConstraints.NONE,
                new Insets(5, 5, 5, 5), 0, 0));
Разбил визуально рабочую область на предполагаемые ячейки по принципу добавления мной элементов
Миниатюры
Расположение компонентов. Менеджера компоновки GridBagLayout  
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
30.01.2014, 13:11
Лучший ответ Сообщение было отмечено soundtrack как решение

Решение

У Вас weightx=weighty=0 (для кнопки Вы код привели, подозреваю, для остальных та же картина), соответственно, все компоненты в центре сбиваются. Поставьте weightx=weighty=1 для всех.

P.S. Если не можете визуально понять, какую ячейку занимает компонента, ставьте Fill=BOTH и как-то заполняйте фон компоненты (для кнопки не надо).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.01.2014, 13:11
Помогаю со студенческими работами здесь

Groovy Диспетчер компоновки GridBagLayout
Пишу игрушку "Puzzle" ... Для этого мне сначала надо разобраться как работает GridBagLayout! Чтобы было с чем "возиться",...

Координаты компонента при использовании менеджера компоновки
Есть фрейм. Часть его занимает некий компонент(extends JPanel, если важно). По некоторому событию нужно передать в этот компонент...

Расположение компонентов
На форме 5 компонентов, 4 из них видимые. Хочу расставить их по-другому, но при запуске программы они остаются на первоначальных позициях....

Расположение компонентов
Как в дизайнера форм располагать компоненты с помощью align а не контейнеров Например Свойство top примкнуть к верхнему краю формы ...

Расположение компонентов на форме
Здравствуйте. Поскольку я размещаю компоненты на форме путем его выбора в списке компонентов и нажатия добавить на форму потому что я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru