这是《Java编程思想(第二版)》的P666的例子,偶已经编译通过,但是无法显示网页,偶已经把
FetcherFrame.html放到了当前目录下的呀。请大侠指教,非常感谢!
代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
import com.bruceeckel.swing.*;public class ShowHTML extends JApplet{
JButton send=new JButton("Go");
JLabel l=new JLabel();
public void init(){
Container cp=getContentPane();
cp.setLayout(new FlowLayout());
send.addActionListener(new Al());
cp.add(send);
cp.add(l);
}
class Al implements ActionListener{
public void actionPerformed(ActionEvent ae){
try{
URL u=new URL(getDocumentBase(),"FetcherFrame.html");
getAppletContext().showDocument(u);
}catch(Exception e){
l.setText(e.toString());
}
}
}
public static void main(String[]args){
Console.run(new ShowHTML(),150,80);
}
}

解决方案 »

  1.   

    可是我的就是不行呀,出现的是java.lang.NullPointerException
      

  2.   

    我是在html文件中运行applet的
    你试试呢?下面是我的ShowHTML.html<%@ page language="java" contentType="text/html;charset=gb2312"%>
    <HTML>
    <HEAD></HEAD>
    <BODY>
    <!--"CONVERTED_APPLET"-->
    <!-- HTML CONVERTER -->
    <OBJECT 
        classid = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
        codebase = "http://java.sun.com/update/1.4.2/jinstall-1_4-windows-i586.cab#Version=1,4,0,0"
        WIDTH = "200" HEIGHT = "200" >
        <PARAM NAME = CODE VALUE = "ShowHTML.class" >
        <PARAM NAME = "type" VALUE = "application/x-java-applet;version=1.4">
        <PARAM NAME = "scriptable" VALUE = "false">    <COMMENT>
    <EMBED 
                type = "application/x-java-applet;version=1.4" \
                CODE = "ShowHTML.class" \
                WIDTH = "200" \
                HEIGHT = "200" \
        scriptable = false \
        pluginspage = "http://java.sun.com/products/plugin/index.html#download">
        <NOEMBED>
                
                </NOEMBED>
    </EMBED>
        </COMMENT>
    </OBJECT><!--
    <APPLET CODE = "ShowHTML.class" WIDTH = "200" HEIGHT = "200">
    </APPLET>
    -->
    <!--"END_CONVERTED_APPLET"--></BODY>
    </HTML>
      

  3.   

    think in java的例子应该复制下来都能用的
      

  4.   

    这个还是出在楼主运行方式问题上,楼主一定是把这个当application来运行了,这样的话,程序里的
    getDocumentBase()得到的是空的,所以有了你的nullpointer那个exception,getDocumentBase()是applet的方法,虽然有些ide如eclipse不用自己定义一个html也能运行,其实ide帮你定义了一个临时的html,用getDocumentBase()可以看到一个从名字上看就知道是临时文件的html楼主运行的时候以applet方式运行就行了