下面请跟着图老师小编一起来了解下Java咖啡馆(10):情人节的Applet,精心挑选的内容希望大家喜欢,不要忘记点个赞哦!
【 tulaoshi.com - 编程语言 】
朋友们大家好,Java咖啡馆又开张了!这次为喜欢Java的朋友们奉上Applet系列教程,让我们一起步入图形界面Java应用程序的世界!
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)本期咖啡馆的实例程序是送给各位同道好友用来讨女孩子欢心的,效果如图所示。图片上有“老鼠爱大米”字样的星辰出现在蔚蓝色的天空中,再加上一些文字辅助,像模像样的新闻呢,一定给她惊喜!
事先声明,这些信息纯属虚构,仅供娱乐,祝各位情人节快乐而已,不过,用心做出来的礼物绝对比上街买的鲜花礼物更弥足珍贵吧!
Applet一分钟入门
与咖啡馆以前介绍的Java应用程序不同,Java Applet是一种镶嵌在HTML网页中,然后由支持Java的浏览器(比如Netscape Navigator、IE以及现在流行的Firefox)下载并启动运行的Java程序。虽然Applet运行在浏览器中,由于Java本身的强大功能,它可以完成许多HTML本身无法做到的效果,比如网络通讯以及复杂的网页特效。
说到这里,大家很自然会把Applet跟Macromedia公司的Flash技术进行比较。没错,它们有很多相似之处,比如都是通过插件运行在浏览器中,能带给浏览器更丰富的交互功能(比如在线游戏),甚至可以扩展到了高端手机中。相对而言,Flash的强项在于矢量动画,而且非常轻便,一个插件1MB都不到;而Applet是一个全功能技术,与J2EE技术结合起来将给你更大的想象空间,这是Flash技术不能比拟的。import java.applet.Applet;
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
public class NewsApplet extends Applet {
Image snapshot;
String from, to; public void init() {
from = null == getParameter("from") ? "老鼠" : getParameter("from");
to = null == getParameter("to") ? "大米" : getParameter("to");
snapshot = getImage(getCodeBase(), "snapshot.jpg");
MediaTracker tracker = new MediaTracker(this);
tracker.addImage(snapshot, 0);
try {
tracker.waitForID(0);
} catch (Exception e) {
System.out.println("无法下载snapshot.jpg!");
}
}
public void paint(Graphics g) {
g.drawImage(snapshot, 0, 0, snapshot.getWidth(this), snapshot.getHeight(this), this);
g.setFont(new Font("华文彩云", Font.BOLD + Font.ITALIC, 14));
g.setColor(Color.white);
g.drawString(from, 30, 90);
g.drawString("爱", 50, 105);
g.drawString(to, 70, 120);
}
}
OK,保存一下项目,然后可以点击Eclipse的Run菜单的Run as-Java Applet项来预览这个Applet了,是不是很简单?
结合网页
把Applet嵌入网页很简单,只要一个applet标签即可。拿我们的NewsApplet类举例,在Eclipse项目的根目录中新建一个sample.htm,源代码如下:
html
body
applet code="NewsApplet.class" codebase="." width=480
height=384
param name="from" value="Prince Charming"
param name="to" value="Cinderella"
/applet
/body
/html
!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd"
html
head
title大千世界无奇不有/title
meta http-equiv="Content-Type" content="text/html; charset=utf-8"
/head
body
script language="JavaScript"
// 得到URL中的参数
var urlquery = location.href.split("?");
if (urlquery.length 1) {
// 解析参数并获取from和to
var urlterms = urlquery[1].split("&");
var from = decodeURIComponent(urlterms[0].substring(5));
var to = decodeURIComponent(urlterms[1].substring(3));
// 动态把applet标签写入HTML
document.write(center);
document.write(h1爱琴海上千年罕见的奇观/h1);
document.write(/center);
document.write(hr);
document.write(p align=centerhttp://www.cfan.com.cn 2005年2月14日 记者:GaryCha
来源:http://www.tulaoshi.com/n/20160219/1600375.html
看过《Java咖啡馆(10):情人节的Applet》的人还看了以下文章 更多>>