鼠标点击一次就能返回一个dg值,如何作?用IO流?

yuhero_bbs 2014-08-20 10:11:47
package machinarium;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;
import javax.swing.*;

public class Icon extends JFrame{
public static void main(String[] args){
new Icon();
}
public Icon(){
RotatedPanel p=new RotatedPanel();
p.setSize(150,150);

JPanel p1=new JPanel();
p1.setSize(300,300);
add(p);
setSize(500,500);
setVisible(true);
}
}
class RotatedPanel extends JPanel{
int i=0;
ImageIcon pointer;
M toRotated=new M();
public int getNumber(){
return 0;
}
public RotatedPanel(){
addMouseListener(toRotated);
}
class M extends MouseAdapter{
int dg=0;
public M(){
i=dg;
}
int getNumber(){
return dg;
}
public void mouseClicked(MouseEvent e) {
int num=e.getClickCount();
if(dg%360==0){
dg=0;
i=0;
}
dg+=72;
System.out.println("dg "+dg);
Thread t=new Thread(new Rotate());
t.start();

}
class Rotate implements Runnable{
public void run() {
while(i<dg){
try {
i++;
Thread.sleep(10);
repaint();
if(i>=360&&dg==360){
i=0;dg=0;
}

} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
public void paint(Graphics g){
try {
Image image=ImageIO.read(new File("pointer.png"));

AffineTransform at = new AffineTransform();
at.rotate(Math.toRadians(i), image.getWidth(null)/2, image.getHeight(null)/2);
//BufferedImage buffer=new BufferedImage();
BufferedImage bufferImage=new BufferedImage(image.getWidth(null),image.getHeight(null),BufferedImage.TYPE_INT_RGB);
Graphics2D g2=bufferImage.createGraphics();
g2.setTransform(at);
g2.drawImage(image,null,null);



pointer=new ImageIcon(bufferImage);

} catch (Exception e) {
e.printStackTrace();
}
g.setColor(Color.RED);
g.drawImage(pointer.getImage(),100,20,null);
}
}
/***/
...全文
79 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧