thor.app
Class BasicTelnet

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Canvas
              |
              +--thor.app.BasicTelnet
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.lang.Runnable, java.io.Serializable
Direct Known Subclasses:
VT100Telnet

public class BasicTelnet
extends java.awt.Canvas
implements java.lang.Runnable

BasicTelnet is a simple AWT Component that implements a simple UNIX type terminal, and allows easy extension to more complex terminals. In particular VT100Telnet implements a large portion of the VT100 terminal with little more than the VT100 tables from the X Consortium.

  use:
    java thor.app.BasicTelnet myhost [myport]
  
ANSI is just a little different from VT100 and if you decide to implement it send me a copy :) This was originally written in 1996, before the Java 1.1 event model. I haven't made many changes before releasing this to the public so it should be easy to port to Java 1.1 -- Daniel Kristjansson May 27, 2000 The LGPL applies to this software.
Unless otherwise stated the software is Copyright 1996,2000 Daniel Kristjansson

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class java.awt.Canvas
java.awt.Canvas.AccessibleAWTCanvas
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
BasicTelnet(java.lang.String host)
          This constructor opens a telnet connection to host on port 23, the standard telnet port.
BasicTelnet(java.lang.String host, int port)
          This constructor opens a telnet connection to host at the specified port.
 
Method Summary
 void initProcess()
          initProcess() is intended to initialize any processing
 boolean keyUp(java.awt.Event evt, int key)
          This is the old Java 1.1 way to get characters from the keyboard.
static void main(java.lang.String[] args)
           
protected  void normal(byte c)
          normal() puts a character on the screen and sets it's color to the current color, then increments the cursor location.
 void paint(java.awt.Graphics g)
          paint() just calls update()
 void process(byte c)
          process() in BasicTelnet simply calls normal()
 void run()
          run() handles characters coming from the telnet connection and calls process() on each character.
protected  void scrValid()
          scrValid() checks that the cursor is on the screen and scrolls when the text runs off the end of the screen
 void update(java.awt.Graphics realG)
          update() is the real workhorse of drawing the component.
 
Methods inherited from class java.awt.Canvas
addNotify, createBufferStrategy, createBufferStrategy, getAccessibleContext, getBufferStrategy
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, deliverEvent, disable, disableEvents, dispatchEvent, doLayout, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeys, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getListeners, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getToolkit, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, invalidate, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusCycleRoot, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, layout, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeys, setFocusTraversalKeysEnabled, setFont, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle, validate
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

BasicTelnet

public BasicTelnet(java.lang.String host)
            throws java.io.IOException
This constructor opens a telnet connection to host on port 23, the standard telnet port.


BasicTelnet

public BasicTelnet(java.lang.String host,
                   int port)
            throws java.io.IOException
This constructor opens a telnet connection to host at the specified port.

Method Detail

main

public static void main(java.lang.String[] args)

scrValid

protected final void scrValid()
scrValid() checks that the cursor is on the screen and scrolls when the text runs off the end of the screen


initProcess

public void initProcess()
initProcess() is intended to initialize any processing


process

public void process(byte c)
process() in BasicTelnet simply calls normal()


normal

protected final void normal(byte c)
normal() puts a character on the screen and sets it's color to the current color, then increments the cursor location.


run

public void run()
run() handles characters coming from the telnet connection and calls process() on each character.

Specified by:
run in interface java.lang.Runnable

keyUp

public boolean keyUp(java.awt.Event evt,
                     int key)
This is the old Java 1.1 way to get characters from the keyboard.

Overrides:
keyUp in class java.awt.Component

update

public void update(java.awt.Graphics realG)
update() is the real workhorse of drawing the component. It need not be changed for VT100 emulation. This is double buffered and keeps track of which lines need to be redrawn. Scrolling could be improved but this is only a demo app...

Overrides:
update in class java.awt.Canvas

paint

public void paint(java.awt.Graphics g)
paint() just calls update()

Overrides:
paint in class java.awt.Canvas