Java jface 从相对位置调用浏览器



我遇到了一个小问题,我需要一些帮助。问题是我希望调用一个调用 html 页面的浏览器窗口。html 文件在 3 种不同的浏览器中打开,因此代码应该是正确的。实际问题是它显示页面无法显示错误消息

这是获取位置的代码

    package org.error;
    public class BrowserLocation {
        private String test1 = "org\error\PatientNumberError.html";
        public BrowserLocation() {
        }
        public String patientNumberAddress() {
            return test1;
        }
    }

下面是创建浏览器组件并调用 HTML 文件位置的代码。

    Browser browser = new Browser(container, SWT.NONE);
    browser.setForeground(SWTResourceManager.getColor(SWT.COLOR_DARK_BLUE));
    browser.setBackground(SWTResourceManager.getColor(SWT.COLOR_WHITE));
    browser.setUrl(browserLocation.patientNumberAddress());
    browser.setBounds(25, 25, 315, 180);

能不能找到我的方式错误?

setUrl需要一个URL,所以你需要这样的东西:

browser.setUrl(new File(path).toURI().toURL().toString());

很抱歉没有早点回复你。我认识的一位高级Java程序员告诉我,我遇到的问题是绝对地址与相对地址的情况。

这样做的原因是,如果我正在读取和写入文件,那么我将能够使用相对地址。但是,如果我正在与服务器进行交互,这里就是这种情况,因为它最终可以上线(如果我有钱),它需要是一个绝对地址。

由于我还在学习Java编程,这是一个非常具体和重要的一课。我希望这能帮助任何其他遇到此问题的人。

最新更新