public void openURL() {
        String urlLocation = ((ViewModel.getDefaultURL() != null) ? ViewModel.getDefaultURL() : "");
        // display url input dialog
        Object o = JOptionPane.showInputDialog(
                viewer,
                "URL:",
                "Open URL",
                JOptionPane.QUESTION_MESSAGE,
                null,
                null,
                urlLocation);
        if (o != null) {
            URLAccess urlAccess = URLAccess.doURLAccess(o.toString());
            urlAccess.closeConnection();
            if (urlAccess.errorMessage != null) {
                org.icepdf.ri.util.Resources.showMessageDialog(
                        viewer,
                        JOptionPane.INFORMATION_MESSAGE,
                        messageBundle,
                        "viewer.dialog.openURL.exception.title",
                        "viewer.dialog.openURL.exception.msg",
                        urlAccess.errorMessage,
                        urlAccess.urlLocation
                );
            } else {
                if (viewer != null) {
                    viewer.toFront();
                    viewer.requestFocus();
                    Graphics g = viewer.getGraphics();
                    if (g != null)
                        viewer.paint(g);
                }
                openURLInSomeViewer(urlAccess.url);
            }
            ViewModel.setDefaultURL(urlAccess.urlLocation);
            urlAccess.dispose();
        }
    }