java - JPanel 与 FlowLayout 自行调整大小

标签 java swing jpanel miglayout flowlayout

我在 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/

相关文章:

java - 使用tomcat作为服务器在eclipse ide的服务器上运行网站

java - 使用 Swingworker 不断更新 GUI

java - 如何将一个 JLabel 的内容传输到另一个 JLabel?

Java,当使用GridBagLayout布局面板时,向面板添加按钮会改变大小,如何防止这种情况?

java - 在 JPanel 与 JComponent 中绘图

java - addKeyListener() 不适用于 JPanel

Java 应用程序打包成 jar 文件后无法运行

java - 在 Android 中将位图转换为 TIFF

java - 获取列表中某个元素的值

java - JLabel 中的 HTML 文本忽略与 text-align : center 的对齐