我正在尝试创建一个带有缩略图及其文件名的分页列表的面板。该列表还需要按文件附带的各种元数据进行排序。缩略图为 120 像素宽 x 90 像素高。到目前为止,我有:
public void PhotoCatalog extends JPanel {
private transient SortedList<PhotoMetadata> sortedThumbList;
public void PhotoCatalog() {
setLayout(new GridLayout(sortedThumbList % 3, 3));
Iterator<PhotoMetadata> iterator = sortedThumbList.iterator();
while (iterator.hasNext()) {
Thumbnail thumbnail = new Thumbnail(iterator.next());
JPanel panel = new JPanel(new BorderLayout());
panel.add(thumbnail, BorderLayout.NORTH);
panel.add(new JLabel(iterator.next().getFilename(), BorderLayout.SOUTH);
this.add(panel);
}
}
public class Thumbnail extends JPanel {
BufferedImage thumbnail = null;
public void Thumbnail(PhotoMetadata data) {
try {
thumbnail = ImageIO.read(new File(data.getFilename()));
}
catch (IOException e) {}
}
@Override
public void paintComponent(Graphics g) {
Graphics2D g2d = (Graphics2D) g;
g2d.drawImage(thumbnail, 0, 0, null);
}
}
我需要整合实际列表才能进行排序和分页,但我不知道从哪里开始以及使用哪个列表。到目前为止,我的代码显示了一个尺寸不合适的黑色图像。
1) 如何让图像以正确的尺寸显示在目录中?2) 我如何集成一个可排序的列表来添加缩略图及其元数据?
谢谢!