如何用Java制作地图绘画软件

时间:2015-09-26 03:32:09

标签: java paint

目前我正在用Java点击鼠标制作绘画程序。就像Photoshop或微软的绘画应用程序一样。 我知道通过设置X和Y轴的边界很容易绘制方形。但是如何用鼠标点击制作非洲地图国家的复杂形状的绘画方法呢?有没有办法为此设定界限? 任何人都可以给我提示吗?谢谢! map of Africa example

1 个答案:

答案 0 :(得分:-2)

使用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);
    }
}

这是我的测试结果。

enter image description here

注意:

在调用repaint()面板时清除已绘制的数据。需要使用诸如将绘画点添加到Collection之类的技术来保持绘画点的安全。