【问题标题】:Explorer view of files stored in txt file存储在 txt 文件中的文件的资源管理器视图
【发布时间】:2014-10-22 05:43:21
【问题描述】:

我是这部分 Java 编程的新手。 我有几个文件存储在 .txt 中。现在我正在获取这些文件并显示在表格中。没有问题。

我想要的是将 .txt 中的文件显示为缩略图之类的东西(即 .txt 文件中混合的 .mp3、.pdf 等文件很少),我想用相关的图标来显示它们,这当然是在JTable 中不可能。我想知道可以通过哪个组件以及一些代码来帮助我入门。请这对我有很大帮助。

【问题讨论】:

  • 查看File Browser GUI,了解如何在树..和表格中使用好的图标。

标签: java swing icons


【解决方案1】:

我想用相关的图标显示它们

您可以使用如下代码获取系统图标:

Icon icon = FileSystemView.getFileSystemView().getSystemIcon(new File(...));

这在 JTable 中当然是不可能的。

然后您只需将Icon 添加到TableModel 并确保覆盖getColumnClass(...) 方法,以便表格将使用适当的图标渲染器。

编辑:

我无法为每一列设置那种字体

JTable 使用渲染器。您可以轻松自定义渲染器或创建全新的渲染器。例如:

DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
centerRenderer.setHorizontalAlignment( JLabel.CENTER );
centerRenderer.setFont(...);
table.getColumnModel().getColumn(1).setCellRenderer( centerRenderer );

阅读 Editors and Renderers 上的 Swing 教程部分了解更多信息。

【讨论】:

  • 谢谢你!我会尝试一下,但在表格中查看的列表内容是以列表的形式出现的,这不是那么“用户友好”。是否有一个不同的组件可以更清晰地查看带有图标的文件。
  • not so "user-friendly". 怎么不方便用户使用? Is there a different component which has a cleaner view of files with there icons 也许你想要一个JList,它可以在网格中显示列表项,或者JTree,它会给你目录/文件结构。
  • 没有冒犯你先生,但使用超过 10-15 行的 JTable 看起来不太好,因此要求使用不同的组件。如果有更多文件先生,Jtree 将无法工作,因为它会占用大量空间。我将尝试使用 JList 并回复您。再次感谢你!
  • using JTable with more than 10-15 rows is not looking good 为什么?您是否曾经在“详细视图”中使用过 Windows 资源管理器。我的 Java 目录有 100 个文件。这是一个非常常见的 UI。
  • 是的,先生。 Windows 中的资源管理器视图很好(因为只有名称列深色字体和位置和大小等其他详细信息是浅色字体)。但是使用 Jtable 我无法为每个列设置那种字体。你能帮我解决这个问题吗?
猜你喜欢
  • 1970-01-01
  • 2016-02-23
  • 2020-10-18
  • 2010-11-03
  • 1970-01-01
  • 1970-01-01
  • 2011-10-12
  • 1970-01-01
  • 2011-09-01
相关资源
最近更新 更多