⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cammonitor.java

📁 使用该APPLET可以让你在WEB里玩MUD
💻 JAVA
字号:
import java.awt.Graphics;import java.awt.Canvas;import java.awt.Dimension;import java.awt.Image;import java.awt.Color;import java.awt.Toolkit;import java.awt.image.ImageObserver;import java.net.URL;import java.net.MalformedURLException;import java.util.Date;public class camMonitor extends Canvas implements Runnable {  URL pic;  int update;  String id;  Dimension size;  Toolkit tk;  Thread t;  Image image, scaledImage;  String time;  /**    * Initialize the cam monitor.     * @param url URL of the picture    * @param update Update time in seconds.    */  public camMonitor(String id, String url, int update) {    // initialize the URL    try {      pic = new URL(url);    } catch(Exception e) {      System.out.println("Unexpected Error: "+e);      System.exit(1);;    }    this.id = id;    this.update = update * 1000;    size = new Dimension(100, 75);    tk = this.getToolkit();    t = new Thread(this);    t.start();  }  boolean complete = false;  /**    * Download the picture every "update" seconds. The image will be    * scaled to the size of the component. The aspect is restored when    * the actual image size is known (2nd download).    */  public void run() {    while(t != null) {      // flush the image data (clear cache)      if(image != null) image.flush();      // download the image      image = tk.getImage(pic);      scaleImage();      time = "";      try {	time = (new Date(pic.openConnection().getLastModified()))	  .toString().substring(0, 16);      } catch(Exception e) { 	System.err.println("Could not determine modification time:");	System.err.println(pic);	time = "";      }      repaint();      // sleep ...      try {	t.sleep(update);      } catch(InterruptedException e) { 	e.printStackTrace();      }    }  }  private void scaleImage() {    if(image == null) return;    Dimension size = new Dimension(getSize());    if(size.width > size.height) {	size.width = -1; 	size.height -= 2;    } else {	size.width -= 2;	size.height = -1;    }    scaledImage = image.getScaledInstance(size.width, size.height, 					  Image.SCALE_SMOOTH);  }  /**    * Paint the scaled image or write "No Image".    * @param g Graphics context.    */  public void paint(Graphics g) {    if(scaledImage != null ) {      g.setColor(Color.white);      g.draw3DRect(0, 0, size.width, size.height, true);      g.drawImage(scaledImage, 1, 1, this);      g.setColor(Color.black);      g.setXORMode(Color.white);      g.drawString(id, 3, getFontMetrics(getFont()).getHeight());      g.drawString(time, 3, size.height - 3);    } else {      g.drawString(id, 3, getFontMetrics(getFont()).getHeight());      g.drawString("No Image", 3, size.height - 3);    }  }  public void setSize(Dimension d) {    size = d;    super.setSize(d);    scaleImage();  }  public Dimension getPreferredSize() {    return getSize();  }  /**   * Get the current Image size.   */  public Dimension getSize() {    return size;  }}

⌨️ 快捷键说明

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