I'm by no means an expert, but the basics will be the input device (the joystick), a processor of some kind, and a drive/motor combination. At least that would cover the electronics.
Your choice of joystick would be decided based on whether you need variable speed or fixed speed driving. Assuming you want the thing to move faster as you push the joystick farther in a particular direction, you'll want a potentiometric joystick. The position of the stick will be output to the controller by two DC voltages, one for X and one for Y, which will increase of decrease based in its position.
If you're comfortable with linking the whole setup to a PC, you can use Mach3 or EMC2 as the controller to gain a lot of powerful motion control options very easily. You can even use an XBox controller as the joystick. If not, and no professional solution is within your budget, you're into programming a microcontroller. That's a whole new can of worms, but completely possible. Mach will allow you to drive to specific positions, reference the drives to a "home" position and even "learn" a series of movements to be later repeated. You could even use G-code to write your own custom motions.
The driver/motor part should probably be based on servos for the smoothest accelleration. Gecko makes excellent and reasonably priced drives which are compatible with small servo motors. I've had good luck with combinations from Home Shop CNC. These may be a little beefier than you need unless you're talking about a boom arm of some sort. They'll interface smoothly with Mach3 through the parallel port of the PC or by USb if you add a SmoothStepper between the computer and the drives. A breakout board is a good idea even for simple setups like this. :: CNC4PC :: iNtRo has excellent options. Particularly the C11T board which is designed to work specifically with Gecko servo drives.