曾几何时,Java靠着Applet成为一门炙手可热的编程语言.作为Swing框架的延伸,Java Applet可以很方便地嵌入到网页中,并且早期的HTML 4也为Applet专门设计了一个标签.Java Applet是早期的RIA技术,为网页带来了丰富的交互功能,只需要一个Java插件就可以跨平台查看.但后来随着JavaFX,Apache Pivot等新的Java RIA开发框架的兴起,以及HTML 5的出现,Java Applet开始没落.最新的Java也去除了Java Applet支持.尽管如此,我们还是可以用Java Applet写一些小游戏,以及科学计算的模拟程序,用来练习上手Java.这篇文章将介绍Java Applet开发的一些要点,以及相关框架.
早期HTML和HTML 5如何嵌入Applet?
上面提到了,早期的HTML有一个专门的Applet框架,可以用下面的方式嵌入:
其中code是Applet的类名,archive是Applet编译后形成的jar文件,你还可以通过height和width设置高和宽.标签内设置如果没有Java插件不能显示Applet的错误信息.
到了HTML 5时代,Applet热度已减,因此HTML 5把Applet并入到标签中,你可以通过以下方式嵌入Applet:
当然原理是类似的,这里就不再赘述了.
推荐一些Java Applet教程
英文教程
Java-Tutorial.com Applet教程(http://www.java-tutorial.com/applets/)
EchoEcho Applet教程(http://www.echoecho.com/applets.htm)
HajSoftTutorial Applet教程(https://hajsoftutorial.com/category/java-applets/)
SitesBay Applet教程(https://www.sitesbay.com/java/java-applet)
中文教程
编程入门网Applet教程(http://www.bianceng.cn/Programming/Java/Applet_1.htm)
Java Applet可以用哪些编程语言编写?
Java Applet除了可以用Java编写外,支持JVM的编程语言和编译到Java的编程语言都可以编写Java Applet.列举如下:
Haxe(http://old.haxe.org/doc/java/graphics2d)
Jython(http://www.jython.org/archive/21/applets/index.html)
JRuby(https://stackoverflow.com/questions/1197812/is-it-possible-to-use-jruby-to-write-an-applet-or-is-it-better-to-use-iron-ruby)
FreePascal(http://wiki.freepascal.org/FPC_JVM)
Scala(https://www.scala-lang.org/old/node/714.html)
Groovy(http://www536.pair.com/bgw/applets/GroovyDemo/)
SmartEiffel(http://eiffelzone.com/esd/wrapj/)
将Java Applet和JNLP以及IcedTea-Web整合
JNLP和IcedTea-Web都是一种部署Java应用到浏览器的技术.除了Java Applet,JNLP还可以部署JavaFX等应用.JNLP将Java Applet应用放在沙箱中应用,可以跨平台查看.IcedTea-Web是基于OpenJDK的JNLP开源实现.
整合Java Applet和JNLP(https://docs.oracle.com/javase/tutorial/deployment/deploymentInDepth/embeddingJNLPFileInWebPage.html)
关于IcedTea-Web(https://icedtea.classpath.org/wiki/IcedTea-Web)
基于Swing的Java Applet
从Java 1.3起,可以在Java Applet中使用Swing组件.之前一直只能用AWT组件.推荐两个在Java Applet中使用Swing的教程:
A simple Swing-based applet(http://www.java2s.com/Tutorial/Java/0120__Development/AsimpleSwingbasedapplet.htm)
Applet and Swing Components(http://www.java2s.com/Code/Java/Swing-JFC/AppletandSwingComponents.htm)
可以和Java Applet整合使用的Java库和框架
Barcode4j(http://barcode4j.sourceforge.net/) - 用来生成条形码.
Jung(http://jung.sourceforge.net/applet/) - Java图论和网络库
Supa(http://supa.sourceforge.net/) - 一个方便上传截图的Java Applet,可以实现截图后(自动保存到剪贴板)直接粘贴上传的功能.
总结
本文介绍了Java Applet相关知识点.Java Applet尽管已经很少使用了,但有兴趣的朋友还是可以用Java Applet练习Java开发.
领取专属 10元无门槛券
私享最新 技术干货