【问题标题】:Web Browser in Java FXJavafx 中的 Web 浏览器
【发布时间】:2013-06-25 07:23:16
【问题描述】:

我只是一个初学者,我想用 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. 我还想添加一个选项来打开一个新标签并显示访问页面的历史记录。

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

【问题讨论】:

  • 您是在尝试使用 Swing 还是 JavaFX?这完全是两个不同的 API。
  • 如果您使用 JavaFX,则有一个内置的浏览器组件,因此您只需使用它即可:docs.oracle.com/javafx/2/webview/jfxpub-webview.htm
  • “希望得到积极的回应。” 希望得到一个问题。我的意思是 一个 问题,而不是“我想要..”的 3 个案例。 SO 不是“一站式修复我的代码商店”,而是一个问答网站。
  • @Tom G:我在 javaFx 中使用 swing。
  • @AndrewThompson 只是建议一个明确描述问题的特定问题更有可能获得一个体面的答案,然后一次性发布 3 个问题,并发布简约代码,希望我们编写代码为你。 This 可能也不错

标签: java swing javafx


【解决方案1】:

a) 从this example 看来,您可以从 WebView 实例中获取 webEngine 并加载 URL。

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

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

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

c) 如前所述,网络历史支持似乎是内置的。对于选项卡,您可能需要有一个 TabPane(每个选项卡都有一个 WebView 组件)。

【讨论】:

    猜你喜欢
    • 2013-08-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-01
    • 2012-08-29
    • 1970-01-01
    • 2015-05-22
    • 1970-01-01
    • 2017-03-07
    相关资源
    最近更新 更多