带有FlowLayout的JPanel调整自身大小



我在JFrame中有JPanel(但它们的大小不同,JFrame是全屏的)。JPanel有一个FlowLayout,因为我动态地添加了小正方形(JPanels)。这些方块排列得很好(随着JPanel的结束,它们会移动到下一行),直到我调整JFrame的大小——然后这些方块会显示在一行中,这使得它们的一部分不可见(随着屏幕的结束,这些方块会消失),JPanel也会调整大小。我能做些什么来保持JPanel的永久大小?JFrame的LayoutManager是MigLayout。

一个可能的解决方案是:重写其getPreferredSize()方法以返回常量Dimension。

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...
}

相关内容

  • 没有找到相关文章

最新更新