сначала вы знаете, какой макет был по умолчанию для обеих ваших панелей?и самое короткое рабочее решение состоит в том, чтобы заставить корневую панель использовать BorderLayout
, а при добавлении встречного вызова к объекту корневой панели
add(BorderLayout.NORTH,theCounterObject);
и для панели кнопки также вызывать это на корневой панели
add(BorderLayout.CENTER,theButtonsPanel);
это решит проблему в сокращенной версии, но лучше узнать не глоток или часть, а все о менеджерах компоновки, так как они очень важны для свинга, вот начало Визуальное руководство для менеджеров по макету .
метод pack()
не является необходимым, но это отличный способ получить идеальный размер, это была хорошая идея из комментария, но проблема была в том, что ваш макет был FlowLayout
, и он по умолчанию для панелино вы должны сделать это после изменения макета.