diff options
Diffstat (limited to 'libjava/java/awt/TextArea.java')
-rw-r--r-- | libjava/java/awt/TextArea.java | 40 |
1 files changed, 23 insertions, 17 deletions
diff --git a/libjava/java/awt/TextArea.java b/libjava/java/awt/TextArea.java index 6f60ee6..f27c296 100644 --- a/libjava/java/awt/TextArea.java +++ b/libjava/java/awt/TextArea.java @@ -39,6 +39,9 @@ package java.awt; import java.awt.peer.ComponentPeer; import java.awt.peer.TextAreaPeer; +import java.awt.event.KeyEvent; +import java.util.HashSet; +import java.util.Set; /** @@ -193,11 +196,19 @@ public class TextArea extends TextComponent implements java.io.Serializable this.rows = rows; this.columns = columns; this.scrollbarVisibility = scrollbarVisibility; - } - /* - * Instance Variables - */ + // TextAreas need to receive tab key events so we override the + // default forward and backward traversal key sets. + Set s = new HashSet (); + s.add (AWTKeyStroke.getAWTKeyStroke (KeyEvent.VK_TAB, + KeyEvent.CTRL_DOWN_MASK)); + setFocusTraversalKeys (KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, s); + s = new HashSet (); + s.add (AWTKeyStroke.getAWTKeyStroke (KeyEvent.VK_TAB, + KeyEvent.SHIFT_DOWN_MASK + | KeyEvent.CTRL_DOWN_MASK)); + setFocusTraversalKeys (KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, s); + } /** * Retrieve the number of columns that this text area would prefer @@ -431,10 +442,8 @@ public class TextArea extends TextComponent implements java.io.Serializable */ public void addNotify () { - if (getPeer () != null) - return; - - setPeer ((ComponentPeer) getToolkit().createTextArea (this)); + if (getPeer () == null) + setPeer ((ComponentPeer) getToolkit().createTextArea (this)); } /** @@ -458,10 +467,9 @@ public class TextArea extends TextComponent implements java.io.Serializable public void appendText (String str) { TextAreaPeer peer = (TextAreaPeer) getPeer (); - if (peer == null) - return; - peer.insert (str, peer.getText().length ()); + if (peer != null) + peer.insert (str, peer.getText().length ()); } /** @@ -489,10 +497,9 @@ public class TextArea extends TextComponent implements java.io.Serializable public void insertText (String str, int pos) { TextAreaPeer peer = (TextAreaPeer) getPeer (); - if (peer == null) - return; - peer.insert (str, pos); + if (peer != null) + peer.insert (str, pos); } /** @@ -530,10 +537,9 @@ public class TextArea extends TextComponent implements java.io.Serializable public void replaceText (String str, int start, int end) { TextAreaPeer peer = (TextAreaPeer) getPeer (); - if (peer == null) - return; - peer.replaceRange (str, start, end); + if (peer != null) + peer.replaceRange (str, start, end); } /** |