catalogimage.java

来自「Java程序设计技巧与开发实例附书源代码。」· Java 代码 · 共 54 行

JAVA
54
字号

import java.net.*;
import java.awt.*;

public class CatalogImage
    extends Canvas
{
   private Image image = null;
   public CatalogImage()
   {
      super();
   }

   public void setImage(URL base, String name)
   {
      try
      {
         URL url = new URL(base, name);
         image = Toolkit.getDefaultToolkit().getImage(url);
         MediaTracker tracker = new MediaTracker(this);
         tracker.addImage(image, 0);
         tracker.waitForAll();
      }
      catch (Exception e)
      {
         System.err.println("Image not available or not loaded" + e);
         image = null;
      }
      repaint();
   }

   public Dimension getPreferredSize()
   {
      return new Dimension(100, 100);
   }

   public void paint(Graphics g)
   {
      g.drawRect(0, 0, getSize().width - 1, getSize().height - 1);
      if ( (image != null) && (image.getWidth(this) > 0))
      {
         int x = (getSize().width - image.getWidth(this)) / 2;
         int y = (getSize().height - image.getHeight(this)) / 2;
         g.drawImage(image, x, y, this);
      }
      else
      {
         g.setColor(Color.red);
         g.drawLine(0, 0, getSize().width, getSize().height);
         g.drawLine(getSize().width, 0, 0, getSize().height);
      }
   }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?