public class yyJInputStream extends InputStream implements 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 StringBuffer |
line
line edit buffer.
|
protected 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(JTextArea ta,
char ch,
boolean paste)
process one typed or pasted character.
|
void |
keyPressed(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(KeyEvent ke) |
void |
keyTyped(KeyEvent ke) |
int |
read() |
int |
read(byte[] b,
int off,
int len) |
long |
skip(long len)
returns 0: cannot skip on a terminal.
|
mark, markSupported, read, resetprotected final StringBuffer line
public int available()
throws IOException
available in class InputStreamIOExceptionpublic void close()
throws IOException
close in interface Closeableclose in interface AutoCloseableclose in class InputStreamIOExceptionpublic int read()
throws IOException
read in class InputStreamIOExceptionpublic int read(byte[] b,
int off,
int len)
throws IOException
read in class InputStreamIOExceptionpublic long skip(long len)
skip in class InputStreampublic void keyPressed(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 KeyListenerpublic void keyTyped(KeyEvent ke)
keyTyped in interface KeyListenerprotected void doKey(JTextArea ta, char ch, boolean paste)
public void keyReleased(KeyEvent ke)
keyReleased in interface KeyListenerCopyright © 2014. All rights reserved.