First is that during your x intersection test, it should be x + vx < ... not x - vx < ... if your intent was to predict the objects next location.
don't seem logical to me as your moving the object to the left by subtracting from the x position. Could you care to explain?
You are using the paddles vx as a speed (i.e. the absolute value of the velocity). In the paddle movement code it should be using -paddle.getVX() to test against the left boundary.
Why are we negating the paddles x velocity just to check for the left boundary? Again this doesn't seem logically to me. If you would mind explaining it would be very helpful. Any assistence in this matter would be greatly appreciated.
Sincerely,
8BitOoze