java吧 关注:1,247,738贴子:12,728,822
  • 2回复贴,共1

自制一个Java程序,可以在窗口中随便画,但是出现一个问题

只看楼主收藏回复

package DrawRandom;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.Line2D;
public class DrawRandom extends JFrame {
public static void main(String args[]) {
new DrawRandom();
}
public DrawRandom() {
super.setTitle("myFrame");
this.setVisible(true);
this.setBackground(Color.GREEN);
this.setLayout(null);
Canvas cas = new myCanvas();
this.add(cas);
this.setDefaultCloseOperation(3);
this.setSize(800, 768);
this.setLocationRelativeTo(null);
cas.addMouseListener(new MouseAdapter() {
public void mouseExited(MouseEvent e) {
System.exit(0);
}
});
}
@SuppressWarnings("serial")
class myCanvas extends Canvas implements MouseMotionListener {
int x, y;
public myCanvas() {
this.addMouseMotionListener(this);
this.setBackground(Color.GREEN);
this.setSize(800, 768);
}
public void paint(Graphics g) {
// super.paint(g);
Graphics2D g2d = (Graphics2D) g;
g2d.setColor(Color.red);
BasicStroke bs = new BasicStroke(4);
g2d.setStroke(bs);
g2d.draw(new Line2D.Double(x, y, x, y));
}
@Override
public void mouseDragged(MouseEvent e) {
// TODO Auto-generated method stub
x = e.getX();
y = e.getY();
repaint();
System.out.println("drag");
}
public void update(Graphics g) {
paint(g);
}
@Override
public void mouseMoved(MouseEvent e) {
// TODO Auto-generated method stub
// x=e.getX();y=e.getY();
// System.out.println(""+x+y);
}
}
}


IP属地:广东1楼2014-10-21 12:00回复
    问题就是画的时候不流畅,做不到Microsoft画图效果


    IP属地:广东2楼2014-10-21 12:01
    回复
      学习了


      IP属地:山东来自Android客户端3楼2014-10-21 12:25
      回复