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

📄 mycanvas.java

📁 Java版记事本 作者:黎明你好 版本:2.0 基本功能: 1.文件的打开
💻 JAVA
字号:
package notepad.popGUI;

import java.awt.*;
import java.awt.geom.*;

/**
 * 类名MyCanvas<BR>
 * 图片面板,用来显示图片,然后可以直接添加到JFrame上。<BR>
 * 
 * @version 2.0 2009-4-27<BR>
 * 
 * @author 黎明你好
 */
public class MyCanvas extends Canvas
{
	/** 序列化时为了保持版本的兼容性 */
	private static final long serialVersionUID = 1L;
	/**图片对象*/
	private Image image;

	/**
	 * 构造方法
	 * 
	 * @param image
	 *            图片对象,确定哪个图片放在Canvas上。
	 */
	MyCanvas(Image image)
	{
		this.image = image;
		setSize(30, 30);
	}

	/**
	 * 
	 * 重写paint方法,画出图片。
	 * 
	 * @param image
	 *            g 画笔。
	 */
	public void paint(Graphics g)
	{
		Graphics2D g2d = (Graphics2D) g;
		AffineTransform trans = new AffineTransform();
		if (image != null)
		{
			int imageWidth, imageHeight, canvasWidth, canvasHeight;
			double sx, sy;
			imageWidth = image.getWidth(this);
			imageHeight = image.getHeight(this);
			canvasWidth = this.getBounds().width;
			canvasHeight = this.getBounds().height;
			sx = canvasWidth * 1.0 / imageWidth;
			sy = canvasHeight * 1.0 / imageHeight;
			trans.scale(sx < sy ? sx : sy, sx < sy ? sx : sy);
			g2d.setTransform(trans);// 根据画布大小,实现缩放功能
			g2d.drawImage(image, 0, 0, this);
		}
	}
}

⌨️ 快捷键说明

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