com.sshtools.terminal.swing
Class SwingVirtualTerminal

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.sshtools.terminal.swing.SwingVirtualTerminal
All Implemented Interfaces:
VirtualTerminal, VirtualSession, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class SwingVirtualTerminal
extends javax.swing.JPanel
implements VirtualTerminal

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface com.sshtools.terminal.VirtualTerminal
PROFILE_PROPERTY_ANSWERBACK_STRING, PROFILE_PROPERTY_ANTIALIAS, PROFILE_PROPERTY_BACKGROUND_COLOR, PROFILE_PROPERTY_BACKGROUND_IMAGE, PROFILE_PROPERTY_BACKGROUND_IMAGE_TYPE, PROFILE_PROPERTY_BACKSPACE_IS_DEL, PROFILE_PROPERTY_CHARSET_NAME, PROFILE_PROPERTY_COLOR_PRINTING, PROFILE_PROPERTY_CURSOR_BACKGROUND, PROFILE_PROPERTY_CURSOR_BLINK, PROFILE_PROPERTY_CURSOR_FOREGROUND, PROFILE_PROPERTY_CURSOR_STYLE, PROFILE_PROPERTY_EOL, PROFILE_PROPERTY_FONT_NAME, PROFILE_PROPERTY_FONT_SIZE, PROFILE_PROPERTY_FONT_STYLE, PROFILE_PROPERTY_FOREGROUND_COLOR, PROFILE_PROPERTY_HOST_IS_VMS, PROFILE_PROPERTY_KEEP_CENTRAL, PROFILE_PROPERTY_KEYCODE_FILE, PROFILE_PROPERTY_RESIZE_STRATEGY, PROFILE_PROPERTY_REVERSE_VIDEO, PROFILE_PROPERTY_SCREEN_SIZE, PROFILE_PROPERTY_TERMINAL, PROFILE_PROPERTY_USE_IBM_CHARSET
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
SwingVirtualTerminal()
           
 
Method Summary
 void addVirtualSessionListener(VirtualSessionListener listener)
          Add a VirtualSessionListener to the list that should receive events such as connection made, disconnected, resizes, data sent and received etc.
 void addVirtualTerminalComponent(VirtualTerminalComponent component, java.lang.String position, int ring)
          Add a component to this terminal.
 void connect(ProfileTransport transport)
          Connect the session to the streams provided by the transport.
 void disconnect(boolean doDisconnect)
          Disconnect this session from the host it is connected to.
protected  void doStartStreams()
           
 VDUDisplay getDisplay()
          Return the VDUDisplay implementation this terminal is using.
 TerminalEmulation getEmulation()
          Return the emulation.
 java.lang.String getTitle()
          Return the title of this virtual session.
 ProfileTransport getTransport()
          Get the transport currently in use.
 VirtualSessionManager getVirtualSessionManager()
          Get the virtual session manager.
 void init(VirtualSessionManager sessionManager)
          Initialise the virtual session.
 boolean isConnected()
          Get if this virtual session is currently connected
 void removeVirtualSessionListener(VirtualSessionListener listener)
          Remove a VirtualSessionListener to the list receiving events such as connection made, disconnected, resizes, data sent and received etc.
 void reset()
          Reset the session back to its initial state (e.g.
 void screenResized(int w, int h, boolean remote)
          Invoked by the VDUDisplay implementation when it received a request to to resize the terminal window.
 void setVirtualSessionProperties(ResourceProfile profile)
          Prior to connection, and when the user applies connection profiles, this method will be called.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

SwingVirtualTerminal

public SwingVirtualTerminal()
Method Detail

init

public void init(VirtualSessionManager sessionManager)
Description copied from interface: VirtualSession
Initialise the virtual session. Called after it has been added to the virtual session manager.

Specified by:
init in interface VirtualSession
Parameters:
sessionManager - the virtual session manager session has been added to

addVirtualTerminalComponent

public void addVirtualTerminalComponent(VirtualTerminalComponent component,
                                        java.lang.String position,
                                        int ring)
Description copied from interface: VirtualTerminal

Add a component to this terminal. The position field should be one of

This terminal implementation should allow components to be added to one panel in a "ring" of nested panels each with a border layout and the child panel being in the center. The very innermost ring contains the actual terminal display.

The ring number should be the index of the ring from 0 up to getRingCount()

Specified by:
addVirtualTerminalComponent in interface VirtualTerminal
Parameters:
component - component to add
position - border position
ring - ring number

getEmulation

public TerminalEmulation getEmulation()
Description copied from interface: VirtualTerminal
Return the emulation.

Specified by:
getEmulation in interface VirtualTerminal
Returns:
emulation

getDisplay

public VDUDisplay getDisplay()
Description copied from interface: VirtualTerminal
Return the VDUDisplay implementation this terminal is using.

Specified by:
getDisplay in interface VirtualTerminal
Returns:
terminal panel

connect

public void connect(ProfileTransport transport)
Description copied from interface: VirtualSession
Connect the session to the streams provided by the transport.

Specified by:
connect in interface VirtualSession
Parameters:
transport - transport

doStartStreams

protected void doStartStreams()

disconnect

public void disconnect(boolean doDisconnect)
Description copied from interface: VirtualSession
Disconnect this session from the host it is connected to. If true is passed for the doDisconnect value, the the transport will also be disconnected.

Specified by:
disconnect in interface VirtualSession
Parameters:
doDisconnect - disconnect the transport

getTransport

public ProfileTransport getTransport()
Description copied from interface: VirtualSession
Get the transport currently in use. This will be set after connect() has been called and will be null if not connected.

Specified by:
getTransport in interface VirtualSession
Returns:
transport

addVirtualSessionListener

public void addVirtualSessionListener(VirtualSessionListener listener)
Description copied from interface: VirtualSession
Add a VirtualSessionListener to the list that should receive events such as connection made, disconnected, resizes, data sent and received etc.

Specified by:
addVirtualSessionListener in interface VirtualSession
Parameters:
listener - listener to add

removeVirtualSessionListener

public void removeVirtualSessionListener(VirtualSessionListener listener)
Description copied from interface: VirtualSession
Remove a VirtualSessionListener to the list receiving events such as connection made, disconnected, resizes, data sent and received etc.

Specified by:
removeVirtualSessionListener in interface VirtualSession
Parameters:
listener - listener to remove

screenResized

public void screenResized(int w,
                          int h,
                          boolean remote)
Description copied from interface: VirtualTerminal

Invoked by the VDUDisplay implementation when it received a request to to resize the terminal window. This should then in turn notify all of the listeners.

remote will be true if it was the remote host that requested the screen resize. This can be used to resize the container window if required.

Specified by:
screenResized in interface VirtualTerminal
Parameters:
w - new width
h - new height
remote - remote host requested resize

reset

public void reset()
Description copied from interface: VirtualSession
Reset the session back to its initial state (e.g. clear the scree, clear the buffer, reset the cursor etc)

Specified by:
reset in interface VirtualSession

getTitle

public java.lang.String getTitle()
Description copied from interface: VirtualSession
Return the title of this virtual session. There may be more than one session with the same title.

Specified by:
getTitle in interface VirtualSession
Returns:
virtual session title

isConnected

public boolean isConnected()
Description copied from interface: VirtualSession
Get if this virtual session is currently connected

Specified by:
isConnected in interface VirtualSession
Returns:
connected

getVirtualSessionManager

public VirtualSessionManager getVirtualSessionManager()
Description copied from interface: VirtualSession
Get the virtual session manager. Will return null until init has been called.

Specified by:
getVirtualSessionManager in interface VirtualSession
Returns:
the virtual session manager session has been added to

setVirtualSessionProperties

public void setVirtualSessionProperties(ResourceProfile profile)
Description copied from interface: VirtualSession
Prior to connection, and when the user applies connection profiles, this method will be called. The virtual session implementation should configure itself using any properties the profile provides. For example, a terminal like implementation would set the background, foreground, cursor style etc.

Specified by:
setVirtualSessionProperties in interface VirtualSession
Parameters:
profile - profile to configure virtual session from


Copyright © 2003-2004 3SP LTD. All Rights Reserved.