public void drawTrail(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        g2.setStroke(new BasicStroke(2));
        while (!mousePath.isEmpty() && mousePath.peek().isUp()) {
            mousePath.remove();
        }
        Point clientCursor = Mouse.getLocation();
        mousePathPoint mpp = new mousePathPoint(clientCursor.x,
                clientCursor.y, 250);
        if (mousePath.isEmpty() || !mousePath.getLast().equals(mpp)) {
            mousePath.add(mpp);
        }
        mousePathPoint lastPoint = null;
        for (mousePathPoint a : mousePath) {
            if (lastPoint != null) {
                long mpt = System.currentTimeMillis()
                        - Mouse.getPressTime();
                if (Mouse.getPressTime() == -1 || mpt >= 250) {
                    g2.setColor(Color.WHITE);
                }
                if (mpt < 250) {
                    g2.setColor(Color.RED);
                }
                g2.drawLine(a.x, a.y, lastPoint.x, lastPoint.y);
            }
            lastPoint = a;
        }
    }