微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java JPanel 比带滚动的 JFrame 大

如何解决Java JPanel 比带滚动的 JFrame 大

我正在尝试创建一个屏幕大小的 JPanel(它可能比 JFrame 大)但我希望 JFrame 可以调整大小。是否可以通过滚动(JScrollPane)看到JPanel的隐藏部分(JFrame之外的部分)?

这是我的第一个 Java 项目,所以请解释您的答案

html 示例

<html>
<body> <!-- This is the JFrame -->
  <div style="width: 120%; height: 200%;"> <!-- This is the JPanel -->

  </div>
</body>
</html>

油漆示例 Paint Example

解决方法

我找到了一种方法,如果其他人需要您需要在 JPanel 中 @Override getPreferredSize 并且 不要将 JPanel 添加到 JFrame 使用 JPanel 创建一个 JScrollPane 并将 JScrollPane 添加到JFrame(我认为我的问题是我添加了两次 JPanel)

示例 -- 在扩展 JFrame 类中

JPanel panel = new JPanel();
panel.setPreferredSize(**SIZE**); // not tested I use @Override on the getPreferredSize - idea from camickr
JScrollPane scroll = new JScrollPane(panel,JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);

this.add(scroll);

感谢您的帮助

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。