KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > lucane > applications > reunion > ui > SubjectDialog


1 package org.lucane.applications.reunion.ui;
2
3 import java.awt.BorderLayout JavaDoc;
4 import java.awt.event.ActionEvent JavaDoc;
5 import java.awt.event.ActionListener JavaDoc;
6 import java.awt.event.KeyEvent JavaDoc;
7 import java.awt.event.KeyListener JavaDoc;
8
9 import javax.swing.JButton JavaDoc;
10 import javax.swing.JLabel JavaDoc;
11 import javax.swing.JTextField JavaDoc;
12
13 import org.lucane.applications.reunion.Reunion;
14 import org.lucane.client.widgets.ManagedWindow;
15 import org.lucane.common.ConnectInfo;
16
17 public class SubjectDialog extends ManagedWindow
18 implements KeyListener JavaDoc, ActionListener JavaDoc
19 {
20     private Reunion plugin;
21     private ConnectInfo[] friends;
22     
23     private JTextField JavaDoc txtSubject;
24     private JButton JavaDoc btnOk;
25     private boolean starter;
26     
27     public SubjectDialog(Reunion plugin, ConnectInfo[] friends)
28     {
29         super(plugin, plugin.getTitle());
30         this.plugin = plugin;
31         this.friends = friends;
32         
33         init(plugin.tr("subject"), true);
34     }
35     
36     public SubjectDialog(Reunion plugin, ConnectInfo coordinator)
37     {
38         super(plugin, plugin.getTitle());
39         this.plugin = plugin;
40         init("[" + coordinator.getName() + "]", false);
41     }
42     
43     public void init(String JavaDoc label, boolean starter)
44     {
45         setName("dialog");
46         setExitPluginOnClose(true);
47
48         this.starter = starter;
49
50         this.txtSubject = new JTextField JavaDoc(50);
51         if(!starter)
52         {
53             this.txtSubject.setText(plugin.getSubject());
54             this.txtSubject.setEditable(false);
55             this.btnOk = new JButton JavaDoc(plugin.tr("accept"));
56         }
57         else
58             this.btnOk = new JButton JavaDoc(plugin.tr("send"));
59         
60         getContentPane().setLayout(new BorderLayout JavaDoc());
61         getContentPane().add(new JLabel JavaDoc(plugin.tr("subject")), BorderLayout.WEST);
62         getContentPane().add(txtSubject, BorderLayout.CENTER);
63         getContentPane().add(btnOk, BorderLayout.EAST);
64         
65         getContentPane().addKeyListener(this);
66         txtSubject.addKeyListener(this);
67         btnOk.addActionListener(this);
68     }
69     
70     public void actionPerformed(ActionEvent JavaDoc ae)
71     {
72         if(this.starter)
73         {
74             plugin.setSubject(txtSubject.getText());
75             plugin.showMainWindow();
76             for(int i=0;i<friends.length;i++)
77             {
78                 ConnectInfo friend = friends[i];
79                 plugin.inviteUser(friend);
80             }
81         }
82         else
83         {
84             plugin.showMainWindow();
85             plugin.joinMeeting();
86         }
87
88         dispose();
89     }
90     
91     public void keyReleased(KeyEvent JavaDoc ke) {}
92     public void keyTyped(KeyEvent JavaDoc ke) {}
93     public void keyPressed(KeyEvent JavaDoc ke)
94     {
95         if(ke.getKeyCode() == KeyEvent.VK_ENTER)
96         {
97             ke.consume();
98             btnOk.doClick();
99         }
100     }
101 }
Popular Tags