Java FX中的Web浏览器

时间:2013-06-27 17:02:51

标签: java swing javafx

我只是一个初学者,我想使用swing在java中创建一个Web浏览器。现在这里有三件我无法做的事情:

  1. 不知道如何在框架中加载网页。这是我的代码:

    AddressField.getText();
    try {
        URI uri=new URI(AddressField.getText());
        URL url=uri.toURL();
        InputStream in=url.openStream();
    
    } catch (URISyntaxException ex) {
        Logger.getLogger(MyBrowser.class.getName()).log(Level.SEVERE, null, ex);
    } catch (MalformedURLException ex) {
        Logger.getLogger(MyBrowser.class.getName()).log(Level.SEVERE, null, ex);
    } catch (IOException ex) {
        Logger.getLogger(MyBrowser.class.getName()).log(Level.SEVERE, null, ex);
    }
    
  2. 我想放一个后退按钮返回上一页。我试着这样做,但我做得不好。我需要一个好的代码来恢复功能按钮。这是其动作监听器的代码:

     ActionListener ab = new ActionListener() {
        @Override public void actionPerformed(ActionEvent e) {
            int i= store.size();
            loadURL(store.get(i-2).toString());//store is object of ArrayList
    
        }
    };
    
  3. 我还想提供一个选项来打开新标签页,并显示所访问网页的历史记录。

  4. 希望得到积极的回应。每一个帮助将不胜感激。谢谢

1 个答案:

答案 0 :(得分:0)

a)从this example开始,您可以从 WebView 实例中获取 webEngine 并加载该网址。

final WebView browser = new WebView();
final WebEngine webEngine = browser.getEngine();

// that should do it...
webEngine.load(url.toExternalForm()); 

b)似乎有history support built-in。 你只需要在项目之间导航......

c)如前所述,Web History支持似乎是内置的。对于标签,您可能需要TabPane(每个标签及其一个WebView组件)。