我在 JFrame 中有 JPanel(但它们的大小不同并且 JFrame 是全屏的)。 JPanel 有一个 FlowLayout,因为我动态添加小方 block (JPanel)。这些方 block 排列得很好(它们在 JPanel 结束时移动到下一行),直到我调整 JFrame 的大小 - 然后这些方 block 显示在一行中,是什么使它们的一部分不可见(它们在屏幕结束时消失)和 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...
}
关于java - JPanel 与 FlowLayout 自行调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9439618/