KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > chat > ui > conversation > SendingMessageController


1 // The contents of this file are subject to the Mozilla Public License Version
2
// 1.1
3
//(the "License"); you may not use this file except in compliance with the
4
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
5
//
6
//Software distributed under the License is distributed on an "AS IS" basis,
7
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
8
//for the specific language governing rights and
9
//limitations under the License.
10
//
11
//The Original Code is "The Columba Project"
12
//
13
//The Initial Developers of the Original Code are Frederik Dietz and Timo
14
// Stich.
15
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
16
//
17
//All Rights Reserved.
18
package org.columba.chat.ui.conversation;
19
20 import javax.swing.JTextArea JavaDoc;
21 import javax.swing.event.DocumentEvent JavaDoc;
22 import javax.swing.event.DocumentListener JavaDoc;
23
24 /**
25  * @author fdietz
26  *
27  */

28 public class SendingMessageController extends JTextArea JavaDoc implements
29         DocumentListener JavaDoc {
30
31     private ChatMediator mediator;
32
33     public SendingMessageController(ChatMediator mediator) {
34         super(5, 30);
35
36         setWrapStyleWord(true);
37
38         this.mediator = mediator;
39
40         getDocument().addDocumentListener(this);
41
42     }
43
44     public void insertUpdate(DocumentEvent JavaDoc e) {
45         enableButton();
46     }
47
48     public void removeUpdate(DocumentEvent JavaDoc e) {
49         enableButton();
50     }
51
52     public void changedUpdate(DocumentEvent JavaDoc e) {
53         enableButton();
54     }
55
56     private void enableButton() {
57         if (getText().length() > 0) {
58             mediator.getSendButton().setEnabled(true);
59         } else {
60             mediator.getSendButton().setEnabled(false);
61         }
62     }
63 }
Popular Tags