java - Windows 资源管理器类似 Swing 布局

标签 java swing layout

我想为具有特殊格式(.blp)的图像创建一些自定义文件选择器。使用库我可以将它们加载为 BufferedImage 对象。现在我想创建这些图标的可滚动图像预览,就像在 Windows 资源管理器中一样: Please don't be confused by my german os ;)

主要问题是我找不到合适的允许垂直滚动的解决方案,因此图像数量受到窗口大小的限制。

我已经看过这些问题的答案:

No scrolling support

No image / scrolling support

有什么想法吗?

最佳答案

the scrollpane needs a custom layout

是的,它有一个布局来支持滚动条、行标题和列标题以及视口(viewport)。

So i can't use the GridBagLayout or the ColumnsFlowLayout in there

当然可以,因为您将面板添加到视口(viewport),因此您的面板可以使用您想要的任何布局。

您可能只想使用 JList 并将其添加到视口(viewport),因为它支持自动换行。查看 Swing 教程中关于 How to Use Lists 的部分。您可以将 JList 方向设置为水平换行。

JList 默认可以渲染 Icons,所以只需将 Icons 添加到 ListModel 即可。如果您想要图标和名称,那么您将需要创建一个自定义渲染器来显示文本和图标。

或者您可以使用带有 Wrap Layout 的面板。 WrapLayout 水平包裹组件,并在调整框架大小时动态工作。

关于java - Windows 资源管理器类似 Swing 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32870135/

相关文章:

java - 通过运行 Exec 任务构建 jar 后,在 gradle 中使用 graalvm 构建 native 图像

java - 如何使用gradle在windows上构建jar

java - 从父类(super class)调用方法不起作用 Java

css - 如何内嵌标注/语音气泡框

java - Android自定义 View 布局问题

java - SWT 浏览器不工作?

java - 如何从文件中读取并将其发送到 Java 中的构造函数

java - JMenuBar、JMenu 和 JMenuItem 的高度

java - 按 Enter 键编辑 JTable 中的特定单元格并显示光标

html - 当 P 是相对的儿子时,将绝对父 P 拉伸(stretch)到其子宽度