サムネイルとそのファイル名のページ分割されたリストを含むパネルを作成しようとしています。また、リストは、ファイルに添付されたさまざまなメタデータによって並べ替えることができる必要があります。サムネイルは幅 120 ピクセル、高さ 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) 並べ替え可能なリストを統合して、サムネイルとそのメタデータを追加するにはどうすればよいですか?
ありがとう!