Is your draw() function being called repeatedly? It sound like either draw is only being called once or your x & y positions are not being updated. For the second problem, this could be a pass by reference / pass by value issue depending on how you've done your code. So your update function may be updating a copy of your paddle's position rather than the actual one your draw method is using. If this is the case you could make sure your x / y coordinates are in a global variable, and have your functions edit that, instead of passing the x & y coordinates into other functions as parameters. (I hope I've made that understandable.
If you like you can post the code for your paint & processing functions, so we can help locate the problem.