public class yyJInputStream
extends java.io.InputStream
implements java.awt.event.KeyListener
JTextArea.
Feeds all read methods from listening to typed keys.
Should not deadlock because one should generally not
read from within the event thread.
While this implementation avoids Java generics, code for a generic version has simply been commented out.
| Modifier and Type | Field and Description |
|---|---|
protected java.lang.StringBuffer |
line
line edit buffer.
|
protected java.util.ArrayList |
queue
completed lines, ready to be read.
|
| Constructor and Description |
|---|
yyJInputStream() |
| Modifier and Type | Method and Description |
|---|---|
int |
available() |
void |
close() |
protected void |
doKey(javax.swing.JTextArea ta,
char ch,
boolean paste)
process one typed or pasted character.
|
void |
keyPressed(java.awt.event.KeyEvent ke)
this one ensures that you can only type at the end
and implements control-C as copy and control-V as paste key if
AWTPermission(accessClipboard) is granted.
|
void |
keyReleased(java.awt.event.KeyEvent ke) |
void |
keyTyped(java.awt.event.KeyEvent ke) |
int |
read() |
int |
read(byte[] b,
int off,
int len) |
long |
skip(long len)
returns 0: cannot skip on a terminal.
|
protected final java.lang.StringBuffer line
protected java.util.ArrayList queue
close().public int available()
throws java.io.IOException
available in class java.io.InputStreamjava.io.IOExceptionpublic void close()
throws java.io.IOException
close in interface java.io.Closeableclose in interface java.lang.AutoCloseableclose in class java.io.InputStreamjava.io.IOExceptionpublic int read()
throws java.io.IOException
read in class java.io.InputStreamjava.io.IOExceptionpublic int read(byte[] b,
int off,
int len)
throws java.io.IOException
read in class java.io.InputStreamjava.io.IOExceptionpublic long skip(long len)
skip in class java.io.InputStreampublic void keyPressed(java.awt.event.KeyEvent ke)
BUG: paste should be based on the platform paste key; however, Safari does not send that one to an applet.
keyPressed in interface java.awt.event.KeyListenerpublic void keyTyped(java.awt.event.KeyEvent ke)
keyTyped in interface java.awt.event.KeyListenerprotected void doKey(javax.swing.JTextArea ta,
char ch,
boolean paste)
public void keyReleased(java.awt.event.KeyEvent ke)
keyReleased in interface java.awt.event.KeyListener