我只想补充一点,加载的初始文件是一个包含所有类名称的 javadoc,当我在控制台中打印时,我希望它在单击带有其名称的超链接时显示每个类的相应页面我没有发现收集相应的 url 有任何问题,但是每次尝试将其添加到 JEditorPane 时都会收到 NullPointerException。
这是我的程序:
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class Help implements HyperlinkListener
{
JEditorPane htmlPane;
String url = "file:///F:/java%2012/Isp/help%20file%20try/doc%202/allclasses-frame.html";
public void hyperlinkUpdate(HyperlinkEvent event) {
if (event.getEventType() == HyperlinkEvent.EventType.ACTIVATED) {
try {
htmlPane.setPage(event.getURL());
//url.setText(event.getURL().toExternalForm());
//System.out.println(event.getURL().toString());
}
catch(IOException ioe) {
// System.out.print("err");
// Some warning to user
}
}
}
public void frame()
{
JFrame frame = new JFrame("asdd");
JLabel l = new JLabel("asdsada");
try
{
JEditorPane htmlPane = new JEditorPane(url);
htmlPane.addHyperlinkListener(this);
htmlPane.setEditable(false);
frame.add(new JScrollPane(htmlPane));
}
catch(IOException ioe) {
System.err.println("Error displaying " + url);
}
frame.setSize(1200,800);
frame.setVisible(true);
}
public static void main(String[] args)
{
Help h =new Help();
h.frame();
}
}