简化URL按钮

时间:2013-01-22 05:28:10

标签: java swing exception-handling uri

我正在尝试在链接到我的Github的应用程序中添加一个“about”窗口的链接。我有点知道这个过程,然而,它看起来很复杂,我必须把所有的错误捕获。我确定URI语法是正确的,有没有办法跳过这个问题?这个变量保持最终,除非资源位置的语法发生变化,否则它应该没问题

代码:

        //TODO: Simplify?
        String gitLocation = "https://github.com/DanubeRS";
        try {
            final URI gitUri = new URI(gitLocation);

            //Add the github button action (link to site)
            githubButton.addActionListener(new ActionListener() {
                @Override
                public void actionPerformed(ActionEvent e) {
                    try {
                        Desktop.getDesktop().browse(gitUri.resolve(gitUri));  //Try to open URL
                    } catch (IOException e1) {
                        //URI unresolvable
                        e1.printStackTrace();
                    }
                }
            });
        } catch (URISyntaxException e) {
            e.printStackTrace();
        }

1 个答案:

答案 0 :(得分:4)

您可以使用方便方法URI.create(String str),其中URISyntaxException包含IllegalArgumentException。来自JavaDoc:

  

提供此方法用于已知的情况   给定的字符串是合法的URI,例如URI常量   在程序中声明,因此它将被视为a   字符串编程错误,不能解析。该   应该使用直接抛出URISyntaxException的构造函数   从用户输入或从中构造URI的情况   其他一些可能容易出错的来源。

IOException引发的Desktop.browse()表示没有设置默认浏览器。您应该通过通知用户来优雅地处理它。