01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package headfirst.proxy.virtualproxy;

import java.awt.Graphics;

import javax.swing.Icon;
import javax.swing.JComponent;

@SuppressWarnings("serial")
class ImageComponent extends JComponent {
  private Icon icon;

  public ImageComponent(Icon icon) {
    this.icon = icon;
  }

  public void setIcon(Icon icon) {
    this.icon = icon;
  }

  public void paintComponent(Graphics g) {
    super.paintComponent(g);
    int w = icon.getIconWidth();
    int h = icon.getIconHeight();
    int x = (800 - w)/2;
    int y = (600 - h)/2;
    icon.paintIcon(this, g, x, y);
  }
}