Personally, I find it much easier to build GUI apps within VisualStudio (targeting C#) than within Java. Though NetBeans makes Java GUI building not that painful. I also have Windows GUIs I built years ago (some for .NET 1.0, some for even earlier versions of VB) and they are running unchanged today.
Compatability with Windows 7 operating system for next 5 years (once built, the application need not be migrated atleast for next 5 years)
That's an odd question. If you install it today on a machine running Windows 7, then it should still run on the same machine running Windows 7 in 5 years. Unless, of course, you choose to update any component of the machine within those 5 years, in which case all bets are off. 5 years is a long time in personal computing, though, and Microsoft has much more of a history of breaking backwards compatibility than Java.