Java awt组件图片缩放练习

import java.awt.BorderLayout;
import java.awt.Canvas;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;

public class Demo extends JFrame{
private int num=0;//定义图片的全局增量
public Demo(){
/*
* 窗口布局
/
setBounds(200, 200, 500, 400);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setTitle(“图像缩放”);
/

* 添加画布
/
Container c=getContentPane();
MyCanvas canvas1=new MyCanvas();
c.add(canvas1,BorderLayout.CENTER);
/

* 添加面板
/
JPanel panel=new JPanel();
c.add(panel,BorderLayout.SOUTH);
JButton btn1=new JButton(“放大”);
btn1.addActionListener(new ActionListener() {//监听事件放大
@Override
public void actionPerformed(ActionEvent e) {
num+=10;
canvas1.repaint();
}
});
JButton btn2=new JButton(“缩小”);
btn2.addActionListener(new ActionListener() {//监听事件缩小
@Override
public void actionPerformed(ActionEvent e) {
num-=10;
canvas1.repaint();
}
});
panel.add(btn1);
panel.add(btn2);
setVisible(true);
}
public static void main(String[] args) {
new Demo();
}
/

* 使用drawImage方法实现图片的放大缩小
*/
class MyCanvas extends Canvas{
@Override
public void paint(Graphics g) {
Graphics2D g2=(Graphics2D)g;
Image image =new ImageIcon(“2.jpg”).getImage();
g2.drawImage(image, 0, 0, 300+num, 250+num, this);
}
}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值