01: package org.lucane.applications.reunion.ui;
02:
03: import java.awt.BorderLayout;
04: import java.awt.event.ActionEvent;
05: import java.awt.event.ActionListener;
06: import java.awt.event.KeyEvent;
07: import java.awt.event.KeyListener;
08:
09: import javax.swing.JButton;
10: import javax.swing.JLabel;
11: import javax.swing.JTextField;
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 implements
18: KeyListener, ActionListener {
19: private Reunion plugin;
20: private ConnectInfo[] friends;
21:
22: private JTextField txtSubject;
23: private JButton btnOk;
24: private boolean starter;
25:
26: public SubjectDialog(Reunion plugin, ConnectInfo[] friends) {
27: super (plugin, plugin.getTitle());
28: this .plugin = plugin;
29: this .friends = friends;
30:
31: init(plugin.tr("subject"), true);
32: }
33:
34: public SubjectDialog(Reunion plugin, ConnectInfo coordinator) {
35: super (plugin, plugin.getTitle());
36: this .plugin = plugin;
37: init("[" + coordinator.getName() + "]", false);
38: }
39:
40: public void init(String label, boolean starter) {
41: setName("dialog");
42: setExitPluginOnClose(true);
43:
44: this .starter = starter;
45:
46: this .txtSubject = new JTextField(50);
47: if (!starter) {
48: this .txtSubject.setText(plugin.getSubject());
49: this .txtSubject.setEditable(false);
50: this .btnOk = new JButton(plugin.tr("accept"));
51: } else
52: this .btnOk = new JButton(plugin.tr("send"));
53:
54: getContentPane().setLayout(new BorderLayout());
55: getContentPane().add(new JLabel(plugin.tr("subject")),
56: BorderLayout.WEST);
57: getContentPane().add(txtSubject, BorderLayout.CENTER);
58: getContentPane().add(btnOk, BorderLayout.EAST);
59:
60: getContentPane().addKeyListener(this );
61: txtSubject.addKeyListener(this );
62: btnOk.addActionListener(this );
63: }
64:
65: public void actionPerformed(ActionEvent ae) {
66: if (this .starter) {
67: plugin.setSubject(txtSubject.getText());
68: plugin.showMainWindow();
69: for (int i = 0; i < friends.length; i++) {
70: ConnectInfo friend = friends[i];
71: plugin.inviteUser(friend);
72: }
73: } else {
74: plugin.showMainWindow();
75: plugin.joinMeeting();
76: }
77:
78: dispose();
79: }
80:
81: public void keyReleased(KeyEvent ke) {
82: }
83:
84: public void keyTyped(KeyEvent ke) {
85: }
86:
87: public void keyPressed(KeyEvent ke) {
88: if (ke.getKeyCode() == KeyEvent.VK_ENTER) {
89: ke.consume();
90: btnOk.doClick();
91: }
92: }
93: }
|