java 之 Applet code/codebase路径问题

来源:互联网 发布:最简洁的编程语言 编辑:程序博客网 时间:2024/04/27 14:46

java课本上给了个applet实例,,当我敲完后,,发现“找不到class”

仔细研究了一下,,发现问题如下:课本上给的applet为裸包即没有package声明包路径,而我的却自己定义了,,,上网搜了一下,,发下大多都是废话》》决定自己研究一下,,先把结果分享给大家,,(经过自己试验通过)

html文件, test.html

<html>
<head>
<title>just for test</title>
</head>
<body>
<applet height="300" height="400" code="web/MyApplet.class" codebase="../applets">

</applet>
</body>
</html>

applet文件,MyApplet.class

package web;

import java.applet.Applet;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPasswordField;
import javax.swing.JTextField;

public class MyApplet extends Applet implements ActionListener {

/**
*
*/
private static final long serialVersionUID = 1L;
private JTextField text_user;
private JPasswordField password;
private JButton button;

public void init() {

this.setLayout(new FlowLayout());
this.add(new JLabel("用户名"));
text_user = new JTextField();
this.add(text_user);
this.add(new JLabel("密码"));
password = new JPasswordField();
this.add(password);
button = new JButton("登陆");
this.add(button);
button.addActionListener(this);

}


//单击事件
public void actionPerformed(ActionEvent e) {

if(e.getSource()==button) {

JButton hello = new JButton("hello");
this.add(hello);

}

}

}

文件结构为 同一个文件夹(任意包都行)下面有下面两个包,,

说明::applets包下面有web包(是因为package声明了web包),,web包下面是applet文件

pages下面是html文件

code后面跟的是package后面的路径名及applet名

codebase后面跟的是html或其他页面文件(jsp等)相对于applet的顶级包(例子中为web)的相对路径

可配合上面的例子理解

还有就是applet中的getcodebase得到的也是applet在package声明时的根目录路径

结束,,


原创粉丝点击