2. Personally, I think both can be used at this stage, because after all, I learn java, so I can consider using awt and swing, which are two GUI components recommended by sun in javaAPI. The former is a heavyweight and related to the local platform, while the latter is a lightweight component. Swing is more powerful than AWT in function.
When you develop with these two components, you will feel that java's expertise in GUI is not so good, because the original intention of Java's birth is not on GUI, but on fully object-oriented multithreading and cross-platform.
3.VB is really a good choice for developing GUI interface, with visual development, high efficiency and simple and transparent language. As long as your program runs on the Windows platform, you can also choose it for development.