"Несмотря на то, что мы настоятельно рекомендуем использовать менеджеры компоновки, вы можете выполнять компоновку без них. Если для свойства макета контейнера задано значение NULL, контейнер не будет использовать диспетчер компоновки. В этой стратегии, называемой абсолютным позиционированием, необходимо указатьразмер и положение каждого компонента в этом контейнере. Одним из недостатков абсолютного позиционирования является то, что он плохо корректируется при изменении размера контейнера верхнего уровня. Он также плохо приспосабливается к различиям между пользователями и системами, например, к разным размерам шрифтов.и локали. "- Настройка диспетчера макетов
Приложение: К сожалению, я неправильно прочитал вопрос.Просто сделайте
this.setPreferredSize(new Dimension(w, h));
, используя желаемые значения w
и h
.Если this
является проставкой, компоновка не должна иметь значения.
Добавление: если посмотреть еще ближе, размер scrap
может динамически изменяться.Вы можете переопределить getPreferredSize()
соответственно.Поскольку вы используете GUI-конструктор, ваша панель имеет объявление, похожее на следующее:
public class NewJPanel extends javax.swing.JPanel
Вы можете добавить требуемый метод внутри класса, но за пределами сгенерированного кода:
@Override
public Dimension getPreferredSize() {
return new Dimension(w, h);
}
В сторону: дизайнер GUI - это помощь , которая предполагает понимание лежащего в основе менеджера компоновки.Замечание требует, чтобы вы использовали его для каждой панели, и многие макеты довольно просты .Я часто вижу использование дизайнера зарезервировано для панелей, требующих более сложных макетов, таких как GroupLayout
и SpringLayout
.