小程序参考链接
idea applet runner需要下载
Java Applets Support
Applet runner用法参考
注意路径问题!!!
路径问题参考
codebase="…/"后退一级和ap3包平级的意思,这是相对路径
编译好的class文件会携带最里面的包名(如果包有嵌套)
比如code=“ap3.Hello.class”
hello.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<applet code="ap3.Hello.class" codebase="../" height=200 width=200></applet>
</body>
</html>
package ap3;
import javax.swing.*;
import java.applet.Applet;
import java.awt.*;
public class Hello extends Applet {
@Override
public void init() {
JLabel label = new JLabel("Hello Applet!!!");
add(label);
}
@Override
public void paint (Graphics g)
{
setForeground(Color.black);
setBackground(Color.red);
g.drawRect(50, 60, 100, 100);
g.drawString( "长方形", 50, 50 );
}
}
进入html文件所在的文件夹
运行 appletviewer hello.html
使用标签来给applet传值
在html文件中我们可以继续加入标签来为applet传值。
上面的代码中,使用了getParameter()方法来获取标签中的值。然后放入lable中。这里为啥没通过对象调用getParameter呢?很显然,这是因为Hello继承过来了属于Applet的getParameter()方法
。然后因为在运行applet的时候,首先是处理 <param>标签中的内容,然后执行init()方法里面的内容
,所以,输出23。
hello.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<applet code="ap3.Hello.class" codebase="../" height=200 width=200>
<param name = "what" value="23"/>
</applet>
</body>
</html>
Hello.java
package ap3;
import javax.swing.*;
import java.applet.Applet;
public class Hello extends Applet {
@Override
public void init() {
String age = getParameter("what");
JLabel label = new JLabel("Hello Applet!!! "+age);
add(label);
}
}