首页  >  文章  >  Java  >  为什么我的 JFrame 中只显示顶部面板?

为什么我的 JFrame 中只显示顶部面板?

Patricia Arquette
Patricia Arquette原创
2024-11-06 01:15:02118浏览

Why Does Only the Top Panel Appear in My JFrame?

JFrame 中仅出现顶部面板

在 JFrame 中,BorderLayout 是默认内容窗格。当添加组件而不指定约束时,它们被放置在 BorderLayout 的中心部分。但是,只有一个组件可以占据该区域。

要解决此问题,请使用 BorderLayout 约束来指定每个面板的位置:

<code class="java">f.add(top, BorderLayout.PAGE_START);
f.add(mid);
f.add(bot, BorderLayout.PAGE_END);</code>

其他优化:

  • 删除 f.setSize(500, 500);并使用 pack() 代替,因为它根据其内容设置帧大小。
  • Change f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);到 f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);关闭时正确终止 GUI。
  • 删除 in.setVisible(true);因为组件在添加到可见容器时变得可见。
  • 将类声明更新为 public class EncDecExample 而不是 public class EncDecExample extends JFrame 以避免保留对框架的不必要引用。

以上是为什么我的 JFrame 中只显示顶部面板?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn