У меня есть JComponent, который выполняет пользовательское рисование и переопределяет следующие методы:
public Dimension getPreferredSize() {
return new Dimension(imageWidth, imageHeight);
}
public Dimension getMinimumSize() {
return new Dimension(imageWidth, imageHeight);
}
Где imageWidth и imageHeight - фактический размер изображения.
Я добавил его на панель содержимого с помощью SpringLayout:
layout.putConstraint(SpringLayout.SOUTH, customComponent, -10, SpringLayout.SOUTH, contentPane);
layout.putConstraint(SpringLayout.EAST, customComponent, -10, SpringLayout.EAST, contentPane);
layout.putConstraint(SpringLayout.NORTH, customComponent, 10, SpringLayout.NORTH, contentPane);
Таким образом, он ограничен севером и югом, поэтому при изменении размера он изменит свою высоту, а восток ограничен краем области содержимого, но запад может свободно двигаться влево.
Я бы хотел сохранить размер квадрата (ширина == высота) при изменении его размера. У кого-нибудь есть идеи, как это сделать?