我有一个小型绘图应用程序,我已经看到在Windows机器上工作,但我似乎无法在Mac上运行时将绘制的线条粘贴到画布上。
它以指定的白色背景启动,但只要我点击并拖动,背景就会消失。
在白色背景消失后,线条的小碎片有时会被绘制到画布上。在移动时,"刷"有一个可见的尾巴,但没有一个坚持。
这是一个疯狂螺旋的悲惨结果:http://i.imgur.com/UZ66rMr.png
我看过这个:Java Swing drawing app not drawing似乎有点回答这个问题,但我真的很想知道这个具体的代码,因为我已经看到它在另一台机器。
非常感谢您的帮助!
以下是代码:
DrawingApp.java
public class DrawingApp {
public static void main(String[] args) {
new Window();
}
}
Window.java
import java.awt.Color;
import javax.swing.*;
public class Window extends JFrame {
public Window() {
setTitle("Tegneprogram");
setSize(500, 400);
Draw draw = new Draw();
add(draw);
setVisible(true);
}
}
Draw.java
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionListener;
import javax.swing.*;
public class Draw extends JPanel implements MouseMotionListener {
Point start = null;
Point end = null;
public Draw() {
addMouseMotionListener(this);
}
public void mouseDragged(MouseEvent evt) {
start = end;
end = new Point(evt.getX(), evt.getY());
repaint();
}
public void mouseMoved(MouseEvent evt) {
end = null;
}
public void paint(Graphics g) {
if (start != null && end != null)
g.drawLine(start.x, start.y, end.x, end.y);
}
public void update(Graphics g) {
paint(g);
}
}