T
technodolt
I have a SocketChannel open (to a telnet port).
I am using a KeyListener on a JTextArea to call
SocketChannel.write(ByteBuffer.wrap(JTextArea.getText().getByes());
any time that someone presses enter while in the text area.
If I use the keyReleased event to do this, it works just fine.
However, if I use keyPressed, it won't write the text to the socket.
I surrounded the code that's doing the write with two message dialogs,
so I know the key event is being fired, and I know it's executing code
both before and after the line that calls write(). Also, write() is
returning a value of 6, which means that it's accepted 6 bytes to
write to the SocketChannel. However, the telnet server I'm connected
to never receives those 6 bytes.
Basically, I moved some code from keyReleased to keyPressed, and the
only piece of it that stopped working was writing the contents of the
TextArea to a SocketChannel. I simply don't understand how the type
of key event could have any bearing on whether or not the text is
being written to the channel.
One last note:
I tried swapping the code back and forth several times. The EXACT
same code works perfectly for keyReleased, and doesn't work for
keyPressed.
Anyone got any ideas?
I am using a KeyListener on a JTextArea to call
SocketChannel.write(ByteBuffer.wrap(JTextArea.getText().getByes());
any time that someone presses enter while in the text area.
If I use the keyReleased event to do this, it works just fine.
However, if I use keyPressed, it won't write the text to the socket.
I surrounded the code that's doing the write with two message dialogs,
so I know the key event is being fired, and I know it's executing code
both before and after the line that calls write(). Also, write() is
returning a value of 6, which means that it's accepted 6 bytes to
write to the SocketChannel. However, the telnet server I'm connected
to never receives those 6 bytes.
Basically, I moved some code from keyReleased to keyPressed, and the
only piece of it that stopped working was writing the contents of the
TextArea to a SocketChannel. I simply don't understand how the type
of key event could have any bearing on whether or not the text is
being written to the channel.
One last note:
I tried swapping the code back and forth several times. The EXACT
same code works perfectly for keyReleased, and doesn't work for
keyPressed.
Anyone got any ideas?