@Override protected final void doExecute(Application app) { if (Desktop.isDesktopSupported()) { Desktop desktop = Desktop.getDesktop(); if (desktop.isSupported(getType())) { try { switch (getType()) { case BROWSE: desktop.browse(getURI(app)); return; case MAIL: desktop.mail(getURI(app)); return; } } catch (Exception e) { getLog().error("Invalid URI", e); } } } JOptionPane.showMessageDialog( app.getAppFrame(), String.format("Action %s is not supported", getType()), "", JOptionPane.WARNING_MESSAGE); }
private void prepareMailAll() { // TODO Auto-generated method stub String list = ""; for (DimensionsUser user : users) { // list += user.getUserId()+"@ac.bankit.it"; list += user.getUserId(); list += ";"; } GestConfFrame.getInstance().cmdOutAppend("\n" + list); Desktop desktop; if (Desktop.isDesktopSupported() && (desktop = Desktop.getDesktop()).isSupported(Desktop.Action.MAIL)) { URI mailto = null; try { mailto = new URI("mailto:" + list + "?subject=Hello%20World"); } catch (URISyntaxException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { desktop.mail(mailto); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } else { // TODO fallback to some Runtime.exec(..) voodoo? throw new RuntimeException("desktop doesn't support mailto; mail is dead anyway ;)"); } setVisible(false); }