绘画是可能的与java Graphics。尝试遵循简单的代码。
public class PaintCanves extends JPanel {
private int oldX;
private int oldY;
public PaintCanves() {
draw();
}
private void draw() {
addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent e) {
oldX = e.getX();
oldY = e.getY();
}
});
addMouseMotionListener(new MouseMotionAdapter() {
@Override
public void mouseDragged(MouseEvent e) {
getGraphics().drawLine(oldX, oldY, e.getX(), e.getY());
oldX = e.getX();
oldY = e.getY();
}
});
}
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setContentPane(new PaintCanves());
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
}
}
这是我的测试结果。
注:
它调用repaint()面板时清除已绘制数据。需要使用诸如将绘画点添加到Collection之类的技术来保持绘画点的安全。