I am looking for a component I can use in Swing that acts as a GUI console which
- has a text area with scrollbars that can be set to a particular font
- has an InputStream and an OutputStream that a host application can obtain
- accepts keyboard input, prints it onto the end of the console text, and sends that input to the InputStream
- prints the OutputStream text to the end of the console
- has some kind of FIFO-ish property whereby the amount of text displayed in the console can be limited by automatically discarding the oldest text, when appropriate
- allows copy (but not cut or paste or any other editing) of the console text to the system clipboard
This is kind of like the Console tab in Eclipse.
Are there any good libraries that provide this?