1 package de.orangecafe.amazonrcp.gui.util;
2
3 import javax.swing.table.DefaultTableCellRenderer;
4 import javax.swing.*;
5 import java.awt.*;
6 import java.net.URL;
7 import java.net.MalformedURLException;
8
9
10
11
12 public class ImageTableCellRenderer extends DefaultTableCellRenderer {
13 @Override
14 public Component getTableCellRendererComponent(final JTable table, final Object value, final boolean isSelected, final boolean hasFocus, final int row, final int column) {
15 com.amazon.webservices.awsecommerceservice._2007_04_04.Image image = (com.amazon.webservices.awsecommerceservice._2007_04_04.Image) value;
16
17 Image picture;
18 try {
19 if (image != null) {
20 picture = Toolkit.getDefaultToolkit().getImage(new URL(image.getURL()));
21 table.setRowHeight(row, image.getHeight().getValue().intValue());
22 } else {
23 picture = getDefaultImage();
24 table.setRowHeight(90);
25 }
26 } catch (MalformedURLException e) {
27 picture = getDefaultImage();
28 }
29
30 setIcon(new ImageIcon(picture));
31
32 return this;
33 }
34
35 private Image getDefaultImage() {
36 try {
37 return Toolkit.getDefaultToolkit().getImage(new URL("http://ec1.images-amazon.com/images/G/03/x-site/icons/no-img-sm._V45782892_AA90_.gif"));
38 } catch (MalformedURLException e) {
39 return null;
40
41 }
42 }
43 }