packagecom.mr.draw;importjava.awt.Color;importjava.awt.Graphics;importjava.awt.Graphics2D;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.MouseMotionAdapter;importjava.awt.image.BufferedImage;importjavax.swing.JFrame;public class DrawPictureFrame extendsJFrame {
BufferedImage image= new BufferedImage(570, 390,
BufferedImage.TYPE_INT_BGR);
Graphics gs=image.getGraphics();
Graphics2D g=(Graphics2D) gs;
DrawPictureCanvas canvas= newDrawPictureCanvas();
Color foreColor=Color.BLACK;
Color backgroungColor=Color.WHITE;int x = -1;int y = -1;boolean rubber = false;publicDrawPictureFrame() {
setResizable(false);
setTitle("画图程序");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(500, 100, 574, 460);
init();
addListener();
}private voidaddListener() {//TODO Auto-generated method stub
canvas.addMouseMotionListener(newMouseMotionAdapter() {public void mouseDragged(finalMouseEvent e) {if (x>0&&y>0) {if(rubber) {
g.setColor(backgroungColor);
g.fillRect(x,y,10,10);
}else{
g.drawLine(x,y,e.getX(),e.getY());
}
}
x=e.getX();
y=e.getY();
canvas.repaint();
}
});
canvas.addMouseListener(newMouseAdapter() {public void mouseReleased(finalMouseEvent arg0){
x=-1;
y=-1;
}
});
}private voidinit() {//TODO Auto-generated method stub
g.setColor(backgroungColor);
g.fillRect(0, 0, 570, 390);
g.setColor(foreColor);
canvas.setImage(image);
getContentPane().add(canvas);
}public static voidmain(String[] args) {
DrawPictureFrame frame= newDrawPictureFrame();
frame.setVisible(true);
}
}