java - 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>
油漆示例 油漆示例
解决方案
我找到了一种方法来做到这一点,如果其他人需要你需要在 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);
谢谢您的帮助
推荐阅读
- python-3.x - sns.pairplot 显示密度曲线而不是直方图
- python - 如何根据字典的左值执行插入排序
- python - 如何使用python在CMD中执行命令?
- python - 如何删除列表中两个连续的重复字符串之一?
- javascript - 如何使用 R 从启用了 javascript 的网页中提取链接
- php - 'this php file' 是否可以称为或称为 HTTP API?
- pandas - KeyError:“[索引(['2019-06-06','2019-06-10'],dtype ='object')]都没有在[索引]中
- javascript - Nextjs 动态路由
- python - 如何设置x轴范围?
- c - 将堆作为参数传递