Thanks for your reply, namrog84. Yeah, that's exactly it, and that's exactly the solution I'd love to get away from. I thought it might be handled in the framework already.
Is this really what we all have to do? The reason I implemented a physics engine, was so I could just fire-and-wait-for-contact. So I wouldn't have to handle all the movement manually, but could use a simple linear velocity instead

Oh well, I already have a Java2D implementation of this. I guess I'll try to port that solution, if no one has any other suggestions.