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