For our eLearning project in our university, we are using Java applets to show some interactive stuff (like some interactive function plotting or some simple question/answer
A Java applet take ages to load. Even if it is a very simple small applet, it sometimes takes about a minute to load. Why is that? Is it really that the Java framework is so much bigger than Qt or other frameworks? Or is the VM so big? Or is the VM so slow?
That depends entirely on the machine it's running on, the web browser, and the Java version. I loaded the first example page you linked to, and while it did take a moment to load, it was also loading 19 applets simultaneously on a dual-core machine.
Having said that, 19 applets on one page is ridiculous.
The browser (or at least the tab in Chrome) gets very slow esp while loading the applet but also afterwards.
When loading a page with multiple applets, the chances become very high that the browser craches and or multiple applets don't load correctly. Also the whole operating system gets very slow.
I haven't noticed problems with the way applets load other than when you're loading a lot of them at once.
Again, this isn't just dependent on Java, but also the browser that loads it.
It eats up all the CPU. Even after I have closed all tabs with the applets. I have to quit the browser to resolve this.
Applets are not always unloaded when you leave a page. The applet's stop() method is always run when you leave a page, but the destroy() method and the actual unloading of the applet may not.
In Firefox 3.6, it appears to wait for 1-2 minutes before unloading an applet.
The Java applet looks different on every system. The UI controls are totally different and also behave slightly different. Sometimes it's the native look (or kind of it), sometimes it's completely something own. Also the font is mostly different and often supports a different subset of Unicode characters. This is a real problem for us because we use Unicode a lot for math symbols and we got a lot of reports that some symbols don't work for some people. Also as the font has different size on each system, I got reports that the text is cut out for a few people (or shortened by "..." in a JLabel). I have gotten around this problem now by including a TTF in the JAR. That works mostly. Still sometimes I get these "..." reports even with the unique font.
Java has two base applet classes. The first is the old-style java.applet.Applet class. The other is the newer javax.swing.JApplet class.
The former uses AWT for rendering, which builds on the system's native widgets. The latter uses Swing for rendering and should default to the cross-platform Metal (Ocean) theme.
The Swing tutorial has a page on How to Make Applets.