JavaSE6.0桌面API编程 (下)
文章作者 100test 发表时间 2007:03:14 17:03:48
来源 100Test.Com百考试题网
五、 发送电子邮件
如果支持该行为的话,该应用程序能够启动主机的默认电子邮件客户端-通过调用这个Desktop实例方法:
public void mail(URI uri) throws IOException
DesktopDemo为"Launch Mail"按钮提供了一个ActionListener。在这种情况中,该听取器调用下列方法:
private void onLaunchMail(java.awt.event.ActionEvent evt) {
String mailTo = txtMailTo.getText().
URI uriMailTo = null.
try {
if (mailTo.length() > 0) {
uriMailTo = new URI("mailto", mailTo, null).
desktop.mail(uriMailTo).
} else {
desktop.mail().
}
}
catch(IOException ioe) {
ioe.printStackTrace().
}
catch(URISyntaxException use) {
use.printStackTrace().
}
...
}
该onLaunchMail()方法从相关的文本域中检索电子邮件接收者,并且在存在一位接收者时使用一种mailto模式的参数创建URI,然后调用mail()方法。这个mail()方法被重载,这样你可以使用(或不使用)一个描述其mailto接收者的URI(见图6)来调用这个方法。
图6:使用一个电子邮件接收者启动默认电子邮件客户端。
当创建这个URI时,你可以使用多个电子邮件接收者。这个mailto模式支持CC,BCC,SUBJECT和BODY域。例如,可以使用下列文本来创建一个mailto URI:
mailto:[email protected]?SUBJECT=Happy New Year!&.BODY=Happy New Year, Duke!
图7显示出相应的结果。
图7:桌面API使用多个mailto参数启动默认电子邮件客户端。
当然,你也可以不使用参数来调用mail()。在这种情况中,你的电子邮件客户端将启动一个新的没有指定接收者、主题或邮件正文的电子邮件窗口。