KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > quikj > application > web > talk > client > EmailFrame


1 /*
2  * EmailFrame.java
3  *
4  * Created on November 29, 2002, 2:40 PM
5  */

6
7 package com.quikj.application.web.talk.client;
8
9 import java.awt.*;
10 import java.util.*;
11 import com.quikj.client.beans.*;
12 import com.quikj.client.framework.*;
13 import com.quikj.application.web.talk.messaging.*;
14 /**
15  *
16  * @author amit
17  */

18 public class EmailFrame extends java.awt.Frame JavaDoc {
19     
20     /** Creates new form EmailFrame */
21     public EmailFrame() {
22         initComponents();
23         
24         // and center it
25
Rectangle pbounds = TalkFrame.Instance().getBounds();
26         Point mid = new Point(pbounds.x + (pbounds.width/2), pbounds.y + (pbounds.height/2));
27         Rectangle bounds = getBounds();
28         int x = mid.x - (bounds.width/2);
29         int y = mid.y - (bounds.height/2);
30         if (x < 0) x = pbounds.x;
31         if (y < 0) y = pbounds.y;
32         setBounds(x, y, bounds.width, bounds.height);
33         
34         TalkFrame.Instance().addToFrameList(this);
35         show();
36     }
37     
38     /** This method is called from within the constructor to
39      * initialize the form.
40      * WARNING: Do NOT modify this code. The content of this method is
41      * always regenerated by the Form Editor.
42      */

43     private void initComponents()//GEN-BEGIN:initComponents
44
{
45         java.awt.GridBagConstraints JavaDoc gridBagConstraints;
46
47         panel1 = new java.awt.Panel JavaDoc();
48         label1 = new java.awt.Label JavaDoc();
49         toField = new java.awt.TextField JavaDoc();
50         toAddressBookButton = new java.awt.Button JavaDoc();
51         label2 = new java.awt.Label JavaDoc();
52         ccField = new java.awt.TextField JavaDoc();
53         ccAddressBookButton = new java.awt.Button JavaDoc();
54         label3 = new java.awt.Label JavaDoc();
55         bccField = new java.awt.TextField JavaDoc();
56         bccAddressBookButton = new java.awt.Button JavaDoc();
57         label4 = new java.awt.Label JavaDoc();
58         subjectField = new java.awt.TextField JavaDoc();
59         bodyArea = new TextArea("", 20, 75, TextArea.SCROLLBARS_VERTICAL_ONLY);
60         panel2 = new java.awt.Panel JavaDoc();
61         sendButton = new java.awt.Button JavaDoc();
62         cancelButton = new java.awt.Button JavaDoc();
63         panel3 = new java.awt.Panel JavaDoc();
64         statusBar = new java.awt.TextField JavaDoc();
65
66         setLayout(new java.awt.GridBagLayout JavaDoc());
67
68         setForeground(java.awt.Color.black);
69         setBackground(java.awt.Color.white);
70         setTitle(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("E-mail"));
71         addWindowListener(new java.awt.event.WindowAdapter JavaDoc()
72         {
73             public void windowClosing(java.awt.event.WindowEvent JavaDoc evt)
74             {
75                 exitForm(evt);
76             }
77         });
78
79         panel1.setLayout(new java.awt.GridBagLayout JavaDoc());
80
81         panel1.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
82         label1.setText(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("To_(E-mail_addresses_separated_by_semi-colon)"));
83         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
84         gridBagConstraints.gridx = 0;
85         gridBagConstraints.gridy = 0;
86         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
87         panel1.add(label1, gridBagConstraints);
88
89         toField.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
90         toField.setColumns(60);
91         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
92         gridBagConstraints.gridx = 0;
93         gridBagConstraints.gridy = 1;
94         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
95         gridBagConstraints.weightx = 100.0;
96         panel1.add(toField, gridBagConstraints);
97
98         toAddressBookButton.setLabel(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Address_Book"));
99         toAddressBookButton.setEnabled(false);
100         toAddressBookButton.addActionListener(new java.awt.event.ActionListener JavaDoc()
101         {
102             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt)
103             {
104                 toAddressBookButtonActionPerformed(evt);
105             }
106         });
107
108         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
109         gridBagConstraints.gridx = 1;
110         gridBagConstraints.gridy = 1;
111         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
112         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 10, 0, 0);
113         panel1.add(toAddressBookButton, gridBagConstraints);
114
115         label2.setText(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("CC_(E-mail_adresses_separated_by_semi-colon)"));
116         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
117         gridBagConstraints.gridx = 0;
118         gridBagConstraints.gridy = 2;
119         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
120         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 0, 0, 0);
121         panel1.add(label2, gridBagConstraints);
122
123         ccField.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
124         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
125         gridBagConstraints.gridx = 0;
126         gridBagConstraints.gridy = 3;
127         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
128         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
129         gridBagConstraints.weightx = 100.0;
130         panel1.add(ccField, gridBagConstraints);
131
132         ccAddressBookButton.setLabel(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Address_Book"));
133         ccAddressBookButton.setEnabled(false);
134         ccAddressBookButton.addActionListener(new java.awt.event.ActionListener JavaDoc()
135         {
136             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt)
137             {
138                 ccAddressBookButtonActionPerformed(evt);
139             }
140         });
141
142         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
143         gridBagConstraints.gridx = 1;
144         gridBagConstraints.gridy = 3;
145         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 10, 0, 0);
146         panel1.add(ccAddressBookButton, gridBagConstraints);
147
148         label3.setText(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("BCC_(E-mail_addresses_separated_by_semi-colon)"));
149         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
150         gridBagConstraints.gridx = 0;
151         gridBagConstraints.gridy = 4;
152         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
153         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 0, 0, 0);
154         panel1.add(label3, gridBagConstraints);
155
156         bccField.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
157         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
158         gridBagConstraints.gridx = 0;
159         gridBagConstraints.gridy = 5;
160         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
161         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
162         gridBagConstraints.weightx = 100.0;
163         panel1.add(bccField, gridBagConstraints);
164
165         bccAddressBookButton.setLabel(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Address_Book"));
166         bccAddressBookButton.setEnabled(false);
167         bccAddressBookButton.addActionListener(new java.awt.event.ActionListener JavaDoc()
168         {
169             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt)
170             {
171                 bccAddressBookButtonActionPerformed(evt);
172             }
173         });
174
175         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
176         gridBagConstraints.gridx = 1;
177         gridBagConstraints.gridy = 5;
178         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 10, 0, 0);
179         panel1.add(bccAddressBookButton, gridBagConstraints);
180
181         label4.setText(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Subject"));
182         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
183         gridBagConstraints.gridx = 0;
184         gridBagConstraints.gridy = 6;
185         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
186         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 0, 0, 0);
187         panel1.add(label4, gridBagConstraints);
188
189         subjectField.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
190         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
191         gridBagConstraints.gridx = 0;
192         gridBagConstraints.gridy = 7;
193         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
194         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
195         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
196         panel1.add(subjectField, gridBagConstraints);
197
198         bodyArea.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
199         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
200         gridBagConstraints.gridx = 0;
201         gridBagConstraints.gridy = 8;
202         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
203         gridBagConstraints.gridheight = java.awt.GridBagConstraints.REMAINDER;
204         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
205         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
206         gridBagConstraints.weightx = 100.0;
207         gridBagConstraints.weighty = 100.0;
208         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 0, 0, 0);
209         panel1.add(bodyArea, gridBagConstraints);
210
211         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
212         gridBagConstraints.gridx = 0;
213         gridBagConstraints.gridy = 0;
214         gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
215         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
216         gridBagConstraints.weightx = 100.0;
217         gridBagConstraints.weighty = 100.0;
218         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 10, 10, 10);
219         add(panel1, gridBagConstraints);
220
221         panel2.setLayout(new java.awt.GridBagLayout JavaDoc());
222
223         panel2.setBackground(new java.awt.Color JavaDoc(255, 255, 255));
224         sendButton.setLabel(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Send"));
225         sendButton.addActionListener(new java.awt.event.ActionListener JavaDoc()
226         {
227             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt)
228             {
229                 sendButtonActionPerformed(evt);
230             }
231         });
232
233         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
234         gridBagConstraints.gridx = 0;
235         gridBagConstraints.gridy = 0;
236         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 0, 0, 40);
237         panel2.add(sendButton, gridBagConstraints);
238
239         cancelButton.setLabel(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Cancel"));
240         cancelButton.addActionListener(new java.awt.event.ActionListener JavaDoc()
241         {
242             public void actionPerformed(java.awt.event.ActionEvent JavaDoc evt)
243             {
244                 cancelButtonActionPerformed(evt);
245             }
246         });
247
248         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
249         gridBagConstraints.gridx = 1;
250         gridBagConstraints.gridy = 0;
251         gridBagConstraints.insets = new java.awt.Insets JavaDoc(0, 40, 0, 0);
252         panel2.add(cancelButton, gridBagConstraints);
253
254         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
255         gridBagConstraints.gridx = 0;
256         gridBagConstraints.gridy = 1;
257         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
258         gridBagConstraints.anchor = java.awt.GridBagConstraints.SOUTHWEST;
259         gridBagConstraints.weightx = 100.0;
260         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 10, 10, 10);
261         add(panel2, gridBagConstraints);
262
263         panel3.setLayout(new java.awt.GridBagLayout JavaDoc());
264
265         statusBar.setEditable(false);
266         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
267         gridBagConstraints.gridx = 0;
268         gridBagConstraints.gridy = 0;
269         gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
270         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
271         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
272         gridBagConstraints.weightx = 100.0;
273         panel3.add(statusBar, gridBagConstraints);
274
275         gridBagConstraints = new java.awt.GridBagConstraints JavaDoc();
276         gridBagConstraints.gridx = 0;
277         gridBagConstraints.gridy = 2;
278         gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
279         gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
280         gridBagConstraints.weightx = 100.0;
281         gridBagConstraints.insets = new java.awt.Insets JavaDoc(10, 0, 2, 0);
282         add(panel3, gridBagConstraints);
283
284         pack();
285     }//GEN-END:initComponents
286

287     private void bccAddressBookButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_bccAddressBookButtonActionPerformed
288
{//GEN-HEADEREND:event_bccAddressBookButtonActionPerformed
289
// Add your handling code here:
290
handleAddressBookRequest(bccField);
291     }//GEN-LAST:event_bccAddressBookButtonActionPerformed
292

293     private void ccAddressBookButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_ccAddressBookButtonActionPerformed
294
{//GEN-HEADEREND:event_ccAddressBookButtonActionPerformed
295
// Add your handling code here:
296
handleAddressBookRequest(ccField);
297     }//GEN-LAST:event_ccAddressBookButtonActionPerformed
298

299     private void toAddressBookButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_toAddressBookButtonActionPerformed
300
{//GEN-HEADEREND:event_toAddressBookButtonActionPerformed
301
// Add your handling code here:
302
handleAddressBookRequest(toField);
303     }//GEN-LAST:event_toAddressBookButtonActionPerformed
304

305     private void handleAddressBookRequest(TextField field) {
306         ListDialog ld = new ListDialog(this, java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Address_Book"), addressBook, java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Add"), java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Close"), null);
307         if (ld.isOkSelected() == true) {
308             if (ld.getSelectedIndex() >= 0) {
309                 if (field.getText().trim().length() > 0) {
310                     field.setText(field.getText() + ";");
311                 }
312                 
313                 field.setText(field.getText() + addressBook[ld.getSelectedIndex()]);
314             }
315         }
316     }
317     
318     private void sendButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_sendButtonActionPerformed
319
{//GEN-HEADEREND:event_sendButtonActionPerformed
320
// Add your handling code here:
321
String JavaDoc err_str = errorCheck();
322         if (err_str != null) {
323             new InformationDialog(this, java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
324             TalkFrame.Instance().getLocale()).getString("Error_exclaim"),
325             err_str,
326             java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
327             TalkFrame.Instance().getLocale()).getString("_Close_"),
328             true);
329             return;
330         }
331         
332         // send the e-mail
333
SendMailRequestMessage message = new SendMailRequestMessage();
334         MailElement melement = new MailElement();
335         melement.setFrom(from);
336         
337         melement.setSubject(getSubject());
338         melement.setBody(getBody());
339         
340         Vector v = getEmailAddresses(getTo());
341         int size = v.size();
342         for (int i = 0; i < size; i++)
343         {
344             melement.addTo((String JavaDoc)v.elementAt(i));
345         }
346         
347         v = getEmailAddresses(getCc());
348         size = v.size();
349         for (int i = 0; i < size; i++)
350         {
351             melement.addCc((String JavaDoc)v.elementAt(i));
352         }
353         
354         v = getEmailAddresses(getBcc());
355         size = v.size();
356         for (int i = 0; i < size; i++)
357         {
358             melement.addBcc((String JavaDoc)v.elementAt(i));
359         }
360         
361         
362         message.setMailElement(melement);
363         requestId = TalkFrame.Instance().getCom().sendRequestMessage("text/xml",
364         message.format(),
365         new EmailResponseListener(),
366         10000);
367         if (requestId == -1)
368         {
369             new InformationDialog(this,
370             java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
371             TalkFrame.Instance().getLocale()).getString("Error"),
372             java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
373             TalkFrame.Instance().getLocale()).getString("Error_sending_the_E-mail_message_to_the_server"),
374             java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
375             TalkFrame.Instance().getLocale()).getString("_Close_"),
376             true);
377             
378             TalkFrame.Instance().removeFromFrameList(this);
379             dispose();
380             return;
381         }
382         
383         statusBar.setText(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("Sending_e-mail....."));
384         
385         sendButton.setEnabled(false);
386         cancelButton.setEnabled(false);
387     }//GEN-LAST:event_sendButtonActionPerformed
388

389     private void cancelButtonActionPerformed(java.awt.event.ActionEvent JavaDoc evt)//GEN-FIRST:event_cancelButtonActionPerformed
390
{//GEN-HEADEREND:event_cancelButtonActionPerformed
391
// Add your handling code here:
392
TalkFrame.Instance().removeFromFrameList(this);
393         dispose();
394     }//GEN-LAST:event_cancelButtonActionPerformed
395

396     /** Exit the Application */
397     private void exitForm(java.awt.event.WindowEvent JavaDoc evt)
398     {//GEN-FIRST:event_exitForm
399
TalkFrame.Instance().removeFromFrameList(this);
400         dispose();
401     }//GEN-LAST:event_exitForm
402

403     public void dispose() {
404         if (requestId != -1) {
405             TalkFrame.Instance().getCom().cancelRequest(requestId);
406         }
407         
408         super.dispose();
409     }
410     
411     /**
412      * @param args the command line arguments
413      */

414     public static void main(String JavaDoc args[]) {
415         new EmailFrame();
416     }
417     
418     private Vector getEmailAddresses(String JavaDoc field) {
419         Vector v = new Vector();
420         StringTokenizer tokens = new StringTokenizer(field, ";");
421         
422         while (tokens.hasMoreTokens() == true) {
423             v.addElement(tokens.nextToken());
424         }
425         return v;
426     }
427     
428     private String JavaDoc errorCheck() {
429         if (toField.getText().trim().length() == 0) {
430             return java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
431             TalkFrame.Instance().getLocale()).getString("The_TO_field_is_empty");
432         }
433         
434         if (bodyArea.getText().trim().length() == 0) {
435             return java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
436             TalkFrame.Instance().getLocale()).getString("The_Body_field_is_empty");
437         }
438         
439         return null; // everything is fine
440
}
441     
442     /** Getter for property bcc.
443      * @return Value of property bcc.
444      *
445      */

446     public java.lang.String JavaDoc getBcc() {
447         return bccField.getText().trim();
448     }
449     
450     /** Setter for property bcc.
451      * @param bcc New value of property bcc.
452      *
453      */

454     public void setBcc(java.lang.String JavaDoc bcc) {
455         bccField.setText(bcc);
456     }
457     
458     /** Getter for property body.
459      * @return Value of property body.
460      *
461      */

462     public java.lang.String JavaDoc getBody() {
463         return bodyArea.getText();
464     }
465     
466     /** Setter for property body.
467      * @param body New value of property body.
468      *
469      */

470     public void setBody(java.lang.String JavaDoc body) {
471         bodyArea.setText(body);
472     }
473     
474     /** Getter for property cc.
475      * @return Value of property cc.
476      *
477      */

478     public java.lang.String JavaDoc getCc() {
479         return ccField.getText().trim();
480     }
481     
482     /** Setter for property cc.
483      * @param cc New value of property cc.
484      *
485      */

486     public void setCc(java.lang.String JavaDoc cc) {
487         ccField.setText(cc);
488     }
489     
490     /** Getter for property bccFieldEnabled.
491      * @return Value of property bccFieldEnabled.
492      *
493      */

494     public boolean isBccFieldEditable() {
495         return bccField.isEditable();
496     }
497     
498     /** Setter for property bccFieldEnabled.
499      * @param bccFieldEnabled New value of property bccFieldEnabled.
500      *
501      */

502     public void setBccFieldEditable(boolean bccFieldEditable) {
503         bccField.setEditable(bccFieldEditable);
504     }
505     
506     /** Getter for property ccFieldEnabled.
507      * @return Value of property ccFieldEnabled.
508      *
509      */

510     public boolean isCcFieldEditable() {
511         return ccField.isEditable();
512     }
513     
514     /** Setter for property ccFieldEnabled.
515      * @param ccFieldEnabled New value of property ccFieldEnabled.
516      *
517      */

518     public void setCcFieldEditable(boolean ccFieldEditable) {
519         ccField.setEditable(ccFieldEditable);
520     }
521     
522     /** Getter for property subject.
523      * @return Value of property subject.
524      *
525      */

526     public java.lang.String JavaDoc getSubject() {
527         return subjectField.getText().trim();
528     }
529     
530     /** Setter for property subject.
531      * @param subject New value of property subject.
532      *
533      */

534     public void setSubject(java.lang.String JavaDoc subject) {
535         subjectField.setText(subject);
536     }
537     
538     /** Getter for property to.
539      * @return Value of property to.
540      *
541      */

542     public java.lang.String JavaDoc getTo() {
543         return toField.getText().trim();
544     }
545     
546     /** Setter for property to.
547      * @param to New value of property to.
548      *
549      */

550     public void setTo(java.lang.String JavaDoc to) {
551         toField.setText(to);
552     }
553     
554     /** Getter for property toFieldEnabled.
555      * @return Value of property toFieldEnabled.
556      *
557      */

558     public boolean isToFieldEditable() {
559         return toField.isEditable();
560     }
561     
562     /** Setter for property toFieldEnabled.
563      * @param toFieldEnabled New value of property toFieldEnabled.
564      *
565      */

566     public void setToFieldEditable(boolean toFieldEditable) {
567         toField.setEditable(toFieldEditable);
568     }
569     
570     /** Getter for property subjectFieldEnabled.
571      * @return Value of property subjectFieldEnabled.
572      *
573      */

574     public boolean isSubjectFieldEditable() {
575         return subjectField.isEditable();
576     }
577     
578     /** Setter for property subjectFieldEnabled.
579      * @param subjectFieldEnabled New value of property subjectFieldEnabled.
580      *
581      */

582     public void setSubjectFieldEditable(boolean subjectFieldEditable) {
583         subjectField.setEditable(subjectFieldEditable);
584     }
585     
586     /** Getter for property bodyFieldEnabled.
587      * @return Value of property bodyFieldEnabled.
588      *
589      */

590     public boolean isBodyFieldEditable() {
591         return bodyArea.isEditable();
592     }
593     
594     /** Setter for property bodyFieldEnabled.
595      * @param bodyFieldEnabled New value of property bodyFieldEnabled.
596      *
597      */

598     public void setBodyFieldEditable(boolean bodyFieldEditable) {
599         bodyArea.setEditable(bodyFieldEditable);
600     }
601     
602     /** Getter for property addressBook.
603      * @return Value of property addressBook.
604      *
605      */

606     public java.lang.String JavaDoc[] getAddressBook() {
607         return this.addressBook;
608     }
609     
610     /** Setter for property addressBook.
611      * @param addressBook New value of property addressBook.
612      *
613      */

614     public void setAddressBook(java.lang.String JavaDoc[] addressBook) {
615         this.addressBook = addressBook;
616         
617         if (addressBook.length > 0) {
618             toAddressBookButton.setEnabled(true);
619             ccAddressBookButton.setEnabled(true);
620             bccAddressBookButton.setEnabled(true);
621         }
622         else {
623             toAddressBookButton.setEnabled(false);
624             ccAddressBookButton.setEnabled(false);
625             bccAddressBookButton.setEnabled(false);
626         }
627     }
628     
629     /** Getter for property from.
630      * @return Value of property from.
631      *
632      */

633     public java.lang.String JavaDoc getFrom() {
634         return from;
635     }
636     
637     /** Setter for property from.
638      * @param from New value of property from.
639      *
640      */

641     public void setFrom(java.lang.String JavaDoc from) {
642         this.from = from;
643     }
644     
645     class EmailResponseListener implements HTTPMessageListenerInterface {
646         public void messageReceived(int req_id,
647         int status,
648         String JavaDoc content_type,
649         int http_status,
650         String JavaDoc reason,
651         String JavaDoc message) {
652             requestId = -1;
653             if (status == HTTPMessageListenerInterface.TIMEOUT) {
654                 // close the connection
655
new InformationDialog(EmailFrame.this, java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
656                 TalkFrame.Instance().getLocale()).getString("Error_exclaim"),
657                 java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
658                 TalkFrame.Instance().getLocale()).getString("Timed-out_receiving_response_from_the_server."),
659                            java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
660             TalkFrame.Instance().getLocale()).getString("_Close_"),
661                 5000L);
662                 
663                 TalkFrame.Instance().removeFromFrameList(EmailFrame.this);
664                 dispose();
665                 return;
666             }
667             
668             if (status == HTTPMessageListenerInterface.RECEIVED) {
669                 if (http_status == HTTPRspMessage.OK) {
670                     statusBar.setText(java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language", TalkFrame.Instance().getLocale()).getString("E-mail_sent"));
671                     TalkFrame.Instance().removeFromFrameList(EmailFrame.this);
672                     dispose();
673                 }
674                 else {
675                     if (reason == null) {
676                         reason = java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
677                         TalkFrame.Instance().getLocale()).getString("No_reason_given");
678                     }
679                     
680                     // the e-mail request has not been successful
681
new InformationDialog(EmailFrame.this,
682                     java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
683                     TalkFrame.Instance().getLocale()).getString("Email_Failed") + "!",
684                     java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
685                     TalkFrame.Instance().getLocale()).getString("Error_sending_e-mail") + ": " + reason,
686                                java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
687             TalkFrame.Instance().getLocale()).getString("_Close_"),
688                     5000L);
689                     
690                     TalkFrame.Instance().removeFromFrameList(EmailFrame.this);
691                     dispose();
692                 }
693             }
694             else // unexpected status
695
{
696                 new InformationDialog(EmailFrame.this,
697                 java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
698                 TalkFrame.Instance().getLocale()).getString("Email_sending_failed") + "!",
699                 "Error sending e-mail" + ": "
700                 + java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
701                 TalkFrame.Instance().getLocale()).getString("unexpected_response_received"),
702                            java.util.ResourceBundle.getBundle("com.quikj.application.web.talk.client.language",
703             TalkFrame.Instance().getLocale()).getString("_Close_"),
704                 5000L);
705                 
706                 TalkFrame.Instance().removeFromFrameList(EmailFrame.this);
707                 dispose();
708             }
709         }
710     }
711     
712     // Variables declaration - do not modify//GEN-BEGIN:variables
713
private java.awt.TextField JavaDoc toField;
714     private java.awt.Button JavaDoc sendButton;
715     private java.awt.TextField JavaDoc subjectField;
716     private java.awt.TextField JavaDoc ccField;
717     private java.awt.TextField JavaDoc statusBar;
718     private java.awt.Button JavaDoc bccAddressBookButton;
719     private java.awt.Button JavaDoc cancelButton;
720     private java.awt.Label JavaDoc label4;
721     private java.awt.Label JavaDoc label3;
722     private java.awt.TextField JavaDoc bccField;
723     private java.awt.Label JavaDoc label2;
724     private java.awt.Button JavaDoc ccAddressBookButton;
725     private java.awt.Label JavaDoc label1;
726     private java.awt.Panel JavaDoc panel3;
727     private java.awt.Panel JavaDoc panel2;
728     private java.awt.Panel JavaDoc panel1;
729     private java.awt.TextArea JavaDoc bodyArea;
730     private java.awt.Button JavaDoc toAddressBookButton;
731     // End of variables declaration//GEN-END:variables
732

733     private String JavaDoc[] addressBook = new String JavaDoc[0];
734     private String JavaDoc from = null;
735     private int requestId = -1;
736 }
737
Popular Tags