【发布时间】:2011-12-02 03:39:20
【问题描述】:
我正在尝试在面板中显示一堆图像。该面板将具有固定大小,并且可以滚动以显示所有图片,这是一种缩略图库。事实上,我不明白JScrollPanel 如何与JPanel 和其他人一起工作。有人可以帮助获得像 Windows 资源管理器一样可滚动的JPanel 吗?包含组件和可滚动的面板。
我有一个扩展 JPanel 的 FlowLayoutPanel ...
public FlowLayoutPanel ()
{
setLayout(new FlowLayout());
this.setSize(new Dimension(1000,1000));
}
...
现在,我可以将图像添加到该面板!但是当 JPanel 被填充到最大(最大尺寸)时,我希望在右侧看到一个漂亮的滚动条来滚动我的面板!
【问题讨论】:
-
您可以发布您在尝试使其工作时使用的代码吗?
-
当然我们可以帮助您,但首先您需要提出一个可以回答的问题。现在你的问题有点模糊而且非常广泛,关于任何人都可以做的最好的事情就是建议你阅读 JScrollPane 教程(你可以找到 here)。
-
1) 不要扩展
JPanel,而是创建一个面板并设置一个布局。 2)不要打电话给setSize(),而是setPreferredSize() -
但我的目标是创建一个 FileExplorer 作为 CustomComponent。所以我可以从 Palette 中取出它并将它拖到我的 JFrame 中。因此,我的文件浏览器的基础将是一个带有 FlowLayout 的扩展 JPanel,因此文件可以从左到右一个接一个地放置......就像在资源管理器中一样!为什么扩展 JPanel 不是一个好主意?我想记住你们,我是 JAVA 和 Swing 组件的新手。我还是不太懂 UI 层级!
-
在尝试创建自定义组件之前,首先需要学习 Swing。为此,您应该暂时搁置 GUI-builder 并学习使用教程作为指南手动创建 Swing。你不会后悔这样做的。
标签: java swing jpanel jscrollpane