我在JFrame中有JPanel(但它们的大小不同,JFrame是全屏)。 JPanel有一个FlowLayout,因为我动态地添加了小方块(JPanels)。正方形排列得很好(它们在JPanel结束时移动到下一行),直到我调整JFrame的大小 - 然后这些正方形显示在一行中,是什么使它们的一部分不可见(它们在屏幕结束时消失)和JPanel调整大小。我该怎么做才能保持JPanel的永久尺寸? JFrame的LayoutManager是MigLayout。
答案 0 :(得分:2)
一种可能的解决方案:覆盖其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...
}