📄 mycanvas.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 + -