KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > openharmonise > him > configuration > EmailDialog


1 /*
2  * (C) Copyright SimulacraMedia 2003. All rights reserved.
3  *
4  * Created on Dec 9, 2004
5  *
6  */

7 package org.openharmonise.him.configuration;
8
9 import java.awt.BorderLayout JavaDoc;
10 import java.awt.Color JavaDoc;
11 import java.awt.Component JavaDoc;
12 import java.awt.Container JavaDoc;
13 import java.awt.Dialog JavaDoc;
14 import java.awt.Dimension JavaDoc;
15 import java.awt.Font JavaDoc;
16 import java.awt.Frame JavaDoc;
17 import java.awt.GraphicsConfiguration JavaDoc;
18 import java.awt.HeadlessException JavaDoc;
19 import java.awt.LayoutManager JavaDoc;
20 import java.awt.event.ActionEvent JavaDoc;
21 import java.awt.event.ActionListener JavaDoc;
22
23 import javax.swing.JButton JavaDoc;
24 import javax.swing.JDialog JavaDoc;
25 import javax.swing.JFrame JavaDoc;
26 import javax.swing.JLabel JavaDoc;
27 import javax.swing.JPanel JavaDoc;
28 import javax.swing.JTextField JavaDoc;
29 import javax.swing.JComboBox JavaDoc;
30
31 /**
32  * Dialog to prompt the user for an email address and choice of
33  * Server content type (Content, Metadata or All).
34  * @author MATT TREANOR
35  * @version $Revision: 1.2 $
36  *
37  */

38 public class EmailDialog extends JDialog JavaDoc implements LayoutManager JavaDoc, ActionListener JavaDoc {
39
40     private JTextField JavaDoc m_emailTextField;
41     private JPanel JavaDoc m_panel;
42     private JButton JavaDoc m_okButton;
43     private JButton JavaDoc m_cancelButton;
44     private JComboBox JavaDoc m_comboBox;
45     private JLabel JavaDoc m_labelEmail;
46     private JLabel JavaDoc m_labelType;
47     public final String JavaDoc TYPE_ALL = "All";
48     public final String JavaDoc TYPE_CONTENTS = "Content";
49     public final String JavaDoc TYPE_METADATA = "Metadata";
50     private String JavaDoc m_sEmailAddress = null;
51     /**
52      * @param owner
53      * @throws java.awt.HeadlessException
54      */

55     public EmailDialog(Frame JavaDoc owner) throws HeadlessException JavaDoc {
56         super(owner, true);
57         setup();
58     }
59     private void setup(){
60         this.setTitle("Export content");
61         this.setSize(550,100);
62         this.setResizable(false);
63         
64         m_panel = new JPanel JavaDoc();
65         m_panel.setSize(600,80);
66         getContentPane().add(m_panel);
67         m_panel.setBackground(new Color JavaDoc(224,224,224));
68         getContentPane().setLayout(new BorderLayout JavaDoc());
69         m_panel.setLayout(this);
70         
71         Font JavaDoc font = new Font JavaDoc("Dialog", Font.PLAIN, 11);
72         
73         m_emailTextField = new JTextField JavaDoc(30);
74         m_emailTextField.setFont(font);
75         
76         m_panel.add(m_emailTextField);
77         
78         int x = this.getGraphicsConfiguration().getBounds().width/2-this.getSize().width/2;
79         int y = this.getGraphicsConfiguration().getBounds().height/2-this.getSize().height/2;
80         
81         this.setLocation(x, y);
82         
83         m_okButton = new JButton JavaDoc("OK");
84         m_okButton.setActionCommand("OK");
85         m_okButton.setFont(font);
86         m_okButton.addActionListener(this);
87         
88         m_cancelButton = new JButton JavaDoc("Cancel");
89         m_cancelButton.setActionCommand("Cancel");
90         m_cancelButton.setFont(font);
91         m_cancelButton.addActionListener(this);
92         
93         //getContentPane().add(m_okButton);
94
m_panel.add(m_okButton);
95         m_panel.add(m_cancelButton);
96         
97         m_comboBox = new JComboBox JavaDoc();
98         m_comboBox.setFont(font);
99         m_comboBox.addItem(TYPE_ALL);
100         m_comboBox.addItem(TYPE_CONTENTS);
101         m_comboBox.addItem(TYPE_METADATA);
102         
103         m_panel.add(m_comboBox);
104         
105         m_labelEmail = new JLabel JavaDoc("Email address");
106         m_labelEmail.setFont(font);
107         
108         m_panel.add(m_labelEmail);
109         
110         m_labelType = new JLabel JavaDoc("Export");
111         m_labelType.setFont(font);
112         
113         m_panel.add(m_labelType);
114     }
115     /* (non-Javadoc)
116      * @see java.awt.LayoutManager#layoutContainer(java.awt.Container)
117      */

118     public void layoutContainer(Container JavaDoc parent) {
119         int x = 10;
120         int yLabel = 10;
121         int yField = 35;
122         
123         m_labelEmail.setSize(200, 20);
124         m_labelEmail.setLocation(x, yLabel);
125         
126         m_emailTextField.setSize(250,20);
127         m_emailTextField.setLocation(x, yField);
128         x += m_emailTextField.getWidth() + 20;
129         
130         m_labelType.setSize(90,20);
131         m_labelType.setLocation(x, yLabel);
132         
133         m_comboBox.setSize(90,20);
134         m_comboBox.setLocation(x, yField);
135         x += m_comboBox.getWidth() + 20;
136         
137         m_okButton.setSize(50,20);
138         m_okButton.setLocation(x, yField);
139         x += m_okButton.getWidth() + 20;
140         
141         m_cancelButton.setSize(70,20);
142         m_cancelButton.setLocation(x, yField);
143     }
144     public String JavaDoc getEmail() {
145         return m_sEmailAddress;
146     }
147     public String JavaDoc getType() {
148         return (String JavaDoc)m_comboBox.getSelectedItem();
149     }
150     /* (non-Javadoc)
151      * @see java.awt.LayoutManager#removeLayoutComponent(java.awt.Component)
152      */

153     public void removeLayoutComponent(Component JavaDoc comp) {
154         // TODO Auto-generated method stub
155

156     }
157
158     /* (non-Javadoc)
159      * @see java.awt.LayoutManager#addLayoutComponent(java.lang.String, java.awt.Component)
160      */

161     public void addLayoutComponent(String JavaDoc name, Component JavaDoc comp) {
162         // TODO Auto-generated method stub
163

164     }
165
166     /* (non-Javadoc)
167      * @see java.awt.LayoutManager#minimumLayoutSize(java.awt.Container)
168      */

169     public Dimension JavaDoc minimumLayoutSize(Container JavaDoc parent) {
170         // TODO Auto-generated method stub
171
return null;
172     }
173
174     /* (non-Javadoc)
175      * @see java.awt.LayoutManager#preferredLayoutSize(java.awt.Container)
176      */

177     public Dimension JavaDoc preferredLayoutSize(Container JavaDoc parent) {
178         // TODO Auto-generated method stub
179
return null;
180     }
181     public static void main(String JavaDoc[] args){
182         JFrame JavaDoc frame = new JFrame JavaDoc();
183         frame.setTitle("Export Content");
184         frame.setVisible(true);
185         EmailDialog email = new EmailDialog(frame);
186         email.show();
187
188         System.exit(0);
189     }
190     /* (non-Javadoc)
191      * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)
192      */

193     public void actionPerformed(ActionEvent JavaDoc e) {
194         if(e.getActionCommand().equals("OK")){
195             if(isValidEmail()){
196                 m_sEmailAddress = m_emailTextField.getText();
197                 this.getParent().setVisible(false);
198                 this.hide();
199             } else {
200                 m_labelEmail.setForeground(Color.RED);
201                 m_labelEmail.setText("Please enter a valid email address");
202             }
203         } else {
204             this.getParent().setVisible(false);
205             this.hide();
206         }
207     }
208     /**
209      * @return
210      */

211     private boolean isValidEmail() {
212         String JavaDoc sEmail = m_emailTextField.getText();
213         int indexAt = sEmail.indexOf("@");
214         int indexPt = sEmail.lastIndexOf(".");
215         if(indexAt > 1 && indexPt > indexAt){
216             return true;
217         } else {
218             return false;
219         }
220     }
221 }
222
Popular Tags