2D movement: How do I do that?

I’m working on a 2D RTS game for my final project in college, and I’ve run into a major problem with the movement algorithm.
I’ve been looking all around the web and I can’t seem to find something as trivial as moving a label in a certain vector rather than moving it using arrows or in a 45 degree vector.

I managed to find this code, which calculates the angle and velocity correctly:

public void setPath(Point p){
		destination=p;
        if(this.destination == null){
            return;
        } 

        double delta_x = (double) (this.destination.x-this.getX());
        double delta_y = (double) (this.destination.y-this.getY());
        int sign_x = (int)Math.signum(delta_x);
        int sign_y = (int)Math.signum(delta_y);
        double radian_angle = Math.atan2(delta_y, delta_x);
        if(sign_x > 0 && sign_y > 0)
            radian_angle += Math.PI;
        else if(sign_x > 0 && sign_y < 0)
            radian_angle += Math.PI/2;
        else if(sign_x < 0 && sign_y > 0)
            radian_angle += 3*Math.PI/2;

        System.out.println("Delta X: "+delta_x);
        System.out.println("Delta Y: "+delta_y);
        System.out.println("Angle: "+radian_angle);

        this.x_velocity = this.max_velocity*(float)Math.cos(radian_angle);
        this.y_velocity = this.max_velocity*(float)Math.sin(radian_angle);

        System.out.println("X vel: "+x_velocity);
        System.out.println("Y vel: "+y_velocity);
    }

The problem is that I have no idea how to actually move it using these parameters. Everything I tried ended up in either the label not moving forward (when label’s current x and y < destination x and y), or the label passing by the destination point and missing the stop condition.

I’ve tried everything I could find and I’m absolutely certain there’s a quick and easy solution I’m missing.
Can someone please help me out?
Thanks!