KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > sample > google > spellcheck > AsyncPanel


1 package sample.google.spellcheck;
2
3 import java.awt.Color JavaDoc;
4 import java.awt.GridBagConstraints JavaDoc;
5 import java.awt.GridBagLayout JavaDoc;
6 import java.awt.event.KeyEvent JavaDoc;
7 import java.awt.event.KeyListener JavaDoc;
8
9 import javax.swing.JScrollPane JavaDoc;
10 import javax.swing.JTextArea JavaDoc;
11 import javax.swing.JTextField JavaDoc;
12
13 /**
14  * class sample.google.spellcheck.AsyncPanel
15  * This Impements its own GUI of the Asynchronous Client and it updates the string after getting the response to textarea
16  * @author Nadana Gunarathna
17  *
18  */

19 public class AsyncPanel extends javax.swing.JPanel JavaDoc implements Observer,KeyListener JavaDoc{
20     FormModel formModel;
21     JTextArea JavaDoc writingTextArea;
22     JTextArea JavaDoc displayTextArea;
23     JTextField JavaDoc errorMessageField;
24     public AsyncPanel()
25     {
26         GridBagLayout JavaDoc gbLayout = new GridBagLayout JavaDoc();
27         GridBagConstraints JavaDoc constraint = new GridBagConstraints JavaDoc();
28         this.setLayout(gbLayout);
29
30         formModel = new FormModel(this);
31
32         writingTextArea = new JTextArea JavaDoc();
33         writingTextArea.setLineWrap(true);
34
35         displayTextArea = new JTextArea JavaDoc();
36         displayTextArea.setEditable(false);
37         displayTextArea.setLineWrap(true);
38
39         errorMessageField = new JTextField JavaDoc();
40         errorMessageField.setEditable(false);
41         errorMessageField.setBackground(Color.LIGHT_GRAY);
42         errorMessageField.setForeground(Color.RED);
43
44         JScrollPane JavaDoc scrollPaneGet = new JScrollPane JavaDoc(writingTextArea);
45         JScrollPane JavaDoc scrollPaneSet = new JScrollPane JavaDoc(displayTextArea);
46
47         writingTextArea.setText("Enter a String");
48         writingTextArea.addKeyListener(this);
49
50         constraint.fill = GridBagConstraints.BOTH;
51         constraint.gridx=0;
52         constraint.weightx=1;
53         constraint.weighty=8;
54         gbLayout.setConstraints(scrollPaneGet,constraint);
55         this.add(scrollPaneGet);
56         gbLayout.setConstraints(scrollPaneSet,constraint);
57         this.add(scrollPaneSet);
58         constraint.weighty=1;
59         gbLayout.setConstraints(errorMessageField,constraint);
60         this.add(errorMessageField);
61
62
63     }
64
65     public void update(String JavaDoc message)
66     {
67         displayTextArea.setText(displayTextArea.getText() + " " + message);
68     }
69
70     //updates the error message to the error message display area
71
public void updateError(String JavaDoc message) {
72         errorMessageField.setText(message);
73     }
74
75
76     public void keyPressed(KeyEvent JavaDoc e) {
77         int key=e.getKeyChar();
78         if((key==KeyEvent.VK_SPACE)||(key==KeyEvent.VK_ENTER)){
79             String JavaDoc[] words=writingTextArea.getText().split("\\s");
80             if (words.length > 0)
81             formModel.doAsyncSpellingSuggestion(words[words.length-1]);
82         }
83     }
84
85     public void keyReleased(KeyEvent JavaDoc e) {
86     }
87
88     public void keyTyped(KeyEvent JavaDoc e) {
89     }
90
91     public void clear() {
92         displayTextArea.setText("");
93         writingTextArea.setText("");
94         errorMessageField.setText("");
95     }
96 }
97
Popular Tags