GParted should make it possible (I haven't used it), see comments.
The best way (that I have successfully used) is to use a utility to
- Clone the Windows partition to an external drive (or just to the OS X partition if you have room (also keep in mind this is risky – it's good to have the full backup off the disk in question), using Winclone within OS X. It just creates an image file that you can move around to wherever you have space, until you do the restore.
- Erase the Windows partition (it's ok, because you have the clone)
- Create your new partition however large you want, using the Boot Camp utility within OS X
- Restore the Windows cloned image to the new, larger partition
- Use the utility to "expand to all free space"
Also, I would run a "disk check" on the Windows partition twice before creating the clone with winclone. Otherwise, restoring will most likely fail.
You can follow some of the steps from this question.