#java #swing #layout #layout-manager #gridbaglayout
#java #качать #макет #макет-менеджер #gridbaglayout
Вопрос:
Я работаю над макетом программы и создал сетку, используя GridBagLayout. Сетка заполнена кнопками (некоторые кнопки занимают более одной ячейки). Для случая, когда есть кнопка, охватывающая одну ячейку:
Есть ли способ сделать каждую ячейку в сетке одинакового размера. Я спрашиваю, потому что прямо сейчас размер ячейки каждого столбца определяется самой большой кнопкой в каждом столбце. Как я могу убедиться, что этого не произойдет?
Ответ №1:
Есть ли способ сделать каждую ячейку в сетке одинакового размера
Используйте GridLayout
.
Вы всегда можете создать JPanel для структуры сетки, а затем добавить панель на главную панель, которая использует ваш GridBagLayout. Вы не обязаны использовать одну панель / макет для всего фрейма.
Комментарии:
1. Мне нужно использовать gridbaglayout, поскольку на панели есть несколько кнопок, которые охватывают более одной ячейки.
2. Ваше требование не имеет смысла, вы хотите, чтобы все ячейки были одинаковыми, но жалуетесь, что размер определяет самая большая кнопка. Ну, чего ты ожидаешь? Если вы выберете наименьшую кнопку размером с каждую ячейку, то часть текста будет обрезана на самой большой кнопке. Опубликуйте свой SSCCE , который демонстрирует проблему, потому что ваше словесное описание не очень хорошее. Вот почему я предложил несколько панелей для создания макета.