JEdi​​torPane使用getPage()方法获取网页

时间:2013-06-22 09:33:31

标签: java swing hyperlink jeditorpane

当我将它用于JEditorPane时,我遇到了getPage()方法的问题,它不能正确显示网页并且不会支持所有东西,意味着我想要显示像chrome和其他浏览器这样的所有东西。这是我的代码

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
public class browser extends JFrame {
    private JTextField addressbar;
    private JEditorPane display;
    public browser(){
        super("web browser");
        setVisible(true);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setSize(500,500);
        addressbar=new JTextField("Enter URL");
        addressbar.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent event){
                loadCrap(event.getActionCommand());
            }
        });

        add(addressbar,BorderLayout.NORTH);
        display=new JEditorPane();
        display.setEditable(false);
        display.addHyperlinkListener(new HyperlinkListener(){
            public void hyperlinkUpdate(HyperlinkEvent event){
                if(event.getEventType()==HyperlinkEvent.EventType.ACTIVATED){
                    loadCrap(event.getURL().toString());
                }
            }
        });

        add(new JScrollPane(display),BorderLayout.CENTER);
        setSize(500,500);
        setVisible(true);

    }
    private void loadCrap(String Address){
        try{
            display.setPage(Address);
            addressbar.setText(Address);
        } catch(Exception e){
            System.out.println("crap !");
        }
    }
    public static void main(String[] args){
        new browser();
    }

}

1 个答案:

答案 0 :(得分:0)

您可以使用Desktop类来显示网页。有关更多信息和工作示例,请参阅How to Integrate with the Desktop Class上的Swing教程。