【问题标题】:Java JPanel bigger than the JFrame with scrollingJava JPanel 比带有滚动功能的 JFrame 大
【发布时间】:2021-06-03 05:08:24
【问题描述】:

我正在尝试创建一个屏幕大小的 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

【问题讨论】:

  • 如果您需要一个示例,您可以在窗口未全尺寸时查看 Paint
  • 那么,据我了解,您希望在可调整大小的JPanel 内有一个可滚动的JPanel?如果是这样,check this answer
  • 看看他的StackOverflow answer 展示了一个可滚动的绘图JPanel。
  • 这是我的第一个 Java 项目 - 通过阅读 Swing Tutorial 学习 Swing 基础知识请解释您的答案 - 通过发布 @ 更好地解释您的问题987654325@ 展示您的尝试。
  • “那么,据我了解,您希望在可调整大小的 JPanel 内有一个可滚动的 JPanel?如果是这样,”不,我希望在可调整大小的 JFrame 内有一个可滚动的 JPanel。但是感谢您的链接

标签: java swing jframe jpanel jscrollpane


【解决方案1】:

我找到了一种方法,如果其他人需要,您需要在 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);

感谢您的帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    • 2021-06-21
    • 2013-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-22
    相关资源
    最近更新 更多