浏览 1317 次
锁定老帖子 主题:SendMail程序解析2
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-02-29
最后,我们可以点击“发送”来发送邮件了,在发送前,用户在界面上输入所有必须的参数,然后程序获取到这些参数,需要一个事件监听器来响应这个操作,那么程序的设计就应该分了两个部分,一个方法是取得输入参数的值然后保存下来,另外一个是在一个事件监听器中来响应,发送出去。这里,还需要补充一下,任何程序都不是在理想状态下能够这么简单的就能运行的,如果用户忘记输入某些参数,或者输入的参数不符合规范格式,都会导致大量的不规范邮件的发送,给网络造成大的负载。 那么在发送之前 我们必须对每一个部分进行一些必要的验证。 验证方法validate()思路:既然是验证信息,一般只有两种情况,Y/N 那么可以写成是一个boolean类型的,然后把需要验证的参数放进去,错误提示可以用一个对话框显示出来,比如,当我们没有写入收件人的地址的时候,可以这样来提示: 当验证都通过了,那么只需要获取参数来发送邮件了: 在主类SendMail()中,我们在事件响应器中添加一段代码,在响应发送事件: 完成了邮件发送这段代码之后,也实现了发送这个功能,那么 还需要注意,我们只能等待发送窗口完成之后才能够发送第二封或者是第N封邮件,那么当我们需要发送多个邮件的时候,这样的等待是不是太没有效率了?我们永远不能把时间浪费在没有效率上,那么程序还需要改进在java中,一个线程用一个Thread对象表示,一般每一个java程序都有一个main方法(applet没有),它是主线程的入口点,而用Thread表示的线程,入口点自然不是main了,而是run方法,定义一个线程,主要就是写它的run方法,写run有两种方法,一种是继承Thread类,然后重写它的run,另一种是实现Runnable接口,然后重写它的run (1)定义一个Thread类的子类,覆盖Thread类的run()方法,然后创建该子类的实例。 (2)定义一个实现Runnable接口的类,实现它的run()方法,然后将这个类的实例作为Thread的构造方法的参数,创建Thread类的实例。01-0203--蓝杰实训--Thread专题.ppt-revHEAD.svn000.tmp.ppt 自然 下面我们需要用到的是线程技术 来优化这一功能: Creating a thread involves creating a new Thread and invoking its start() method. Calling start() causes the run() method of the Thread subclass or the Runnable object passed to the Thread constructor to execute. Thread t1 = new Thread() { public void run() { for (int i=0; i<100; i++) { System.out.println("Tastes Great"); } } }; Runnable r = new Runnable() { public void run() { for (int i=0; i<100; i++) { System.out.println("Less Filling"); } } }; Thread t2 = new Thread(r); t1.start(); t2.start(); 完成发送邮件这一线程功能之后 那么同样的,设置一个进度条的进程。当邮件发送的时候,进度条根据邮件发送的的程度来显示进度。这里我们可以用一个技巧: Private void propressBarThread(){new Thread(new Runnable(){}).start()} 程序功能已经完成了,那么我想要界面变得更加漂亮,比如换皮肤,比如设置背景图片。documents\14-项目开发总结报告(GB8567——88).doc 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |