JPanel с FlowLayout изменяет размеры - PullRequest
0 голосов
/ 25 февраля 2012

У меня есть JPanel внутри JFrame (но они не того же размера, и JFrame полноэкранный).У JPanel есть FlowLayout, потому что я динамически добавляю туда маленькие квадраты (JPanels).То, что квадраты располагаются хорошо (они переходят в следующий ряд по окончании JPanel), пока я не изменю размер JFrame - тогда эти квадраты отображаются в одном ряду, что делает их часть невидимой (они исчезают по окончании экрана) и JPanelизменение размера.Что я могу сделать, чтобы сохранить постоянный размер JPanel?LayoutManager для JFrame - это MigLayout.

1 Ответ

2 голосов
/ 25 февраля 2012

Одно из возможных решений: переопределить его метод getPreferredSize (), чтобы получить постоянное измерение.

public class MyPanel extends JPanel {
   private static final int PANEL_W = 400;
   private static final int PANEL_H = 300;

   public MyPanel() {
      // ... etc...
   }


   @Override
   public Dimension getPreferredSize() {
      return new Dimension(PANEL_W, PANEL_H);
   }

   // ... etc...
}
...