View Javadoc

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   * @author Torsten Strasser
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              //TODO: logging
41          }
42      }
43  }