谁能给我一个最简单的使用JEditorPane的例子

解决方案 »

  1.   

    简单的浏览器的例子:import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.net.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.text.html.*;public class JEditorPaneWebBrowser extends JFrame implements ActionListener,HyperlinkListener
    {
    private JEditorPane jep=new JEditorPane();
    private JLabel label=new JLabel("URL");
    private JTextField field=new JTextField(12);
    public JEditorPaneWebBrowser()
    {
    JPanel jp=new JPanel();
    jp.setLayout(new BorderLayout());
    jp.add(new JLabel("Filename"),BorderLayout.WEST);
    jp.add(field,BorderLayout.CENTER);

    this.setLayout(new BorderLayout());
    this.add(new JScrollPane(jep),BorderLayout.CENTER);
    this.add(jp,BorderLayout.NORTH);
    jep.setEditable(false);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    field.addActionListener(this);
    jep.addHyperlinkListener(this);
    setSize(800,600);
    setVisible(true);
    }
    public void actionPerformed(ActionEvent e)
    {
    try{
    URL url=new URL(field.getText().trim());
    jep.setPage(url);
    }
    catch(IOException ex)
    {
    System.out.println(ex);
    }
    }
    public void hyperlinkUpdate(HyperlinkEvent e)
    {
    System.out.println(e.getURL());
    if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
    {
    JEditorPane pane = (JEditorPane) e.getSource();
    if (e instanceof HTMLFrameHyperlinkEvent)
    {
      HTMLFrameHyperlinkEvent  evt = (HTMLFrameHyperlinkEvent)e;
      HTMLDocument doc = (HTMLDocument)pane.getDocument();
      doc.processHTMLFrameHyperlinkEvent(evt);
    }else{
    try {
        pane.setPage(e.getURL());
    } catch (Throwable t) {
        t.printStackTrace();
    }
    }
    }
    }
    public static void main(String args[])
    {
    new JEditorPaneWebBrowser();
    }
    }
      

  2.   

    f_acme 你好。我这报这样的错是什么原因
    java.lang.Error: Do not use com.san.JEditorPaneWebBrowser.setLayout() use com.san.JEditorPaneWebBrowser.getContentPane().setLayout() instead
    at javax.swing.JFrame.createRootPaneException(JFrame.java:465)
    at javax.swing.JFrame.setLayout(JFrame.java:531)
    at com.san.JEditorPaneWebBrowser.<init>(JEditorPaneWebBrowser.java:23)
    at com.san.JEditorPaneWebBrowser.main(JEditorPaneWebBrowser.java:66)
    Exception in thread "main" 
      

  3.   

    this.setLayout(new BorderLayout());这句不对,this.getContentPane().setLayout(new BorderLayout());
      

  4.   

    this.setLayout(new BorderLayout());
    this.add(new JScrollPane(jep),BorderLayout.CENTER);
    this.add(jp,BorderLayout.NORTH);这三句都像楼上的仁兄说的那样改一下就对了。