Package adams.gui.tools
Class SSHPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.tools.SSHPanel
-
- All Implemented Interfaces:
LoggingSupporter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class SSHPanel extends BasePanel implements LoggingSupporter
A simple SSH interface.- Author:
- fracpete (fracpete at waikato dot ac dot nz), Bruno D'Avanzo (original SSHClientExample)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected SimpleAttributeSet
m_AttributeSetCmd
the attributeset for commands.protected SimpleAttributeSet
m_AttributeSetError
the attributeset for errors.protected SimpleAttributeSet
m_AttributeSetRemote
the attributeset for remote output.protected HashMap<SSHAuthenticationType,JPanel>
m_AuthenticationPanels
the authentication panels.protected BaseButton
m_ButtonClear
the button for clearing the output.protected BaseButton
m_ButtonCommand
the button for executing the command.protected BaseButton
m_ButtonConnection
for connecting/disconnecting.protected BaseButton
m_ButtonCopy
the button for copying the selected output.protected com.jcraft.jsch.Channel
m_Channel
the channel.protected BaseComboBox<SSHAuthenticationType>
m_ComboBoxAuthenticationType
the combobox for the authentication type.protected List<String>
m_CommandHistory
the command history.protected int
m_CommandIndex
the current command index.protected FileChooserPanel
m_FileChooserPanelKey
the file panel for the key.protected FileChooserPanel
m_FileChooserPanelKnownHosts
the file panel for the known hosts.protected Logger
m_Logger
the logger in use.protected JPanel
m_PanelAuthentication
the authentication panel.protected SpinnerNumberModel
m_PortModel
the model of the spinner.protected com.jcraft.jsch.Session
m_Session
the ssh session.protected JSpinner
m_SpinnerPort
the port.protected BaseTextField
m_TextCommand
the text field for the command to issue.protected BasePasswordFieldWithButton
m_TextKeyPassphrase
the text field for the private key passphrase.protected BaseTextPaneWithButtons
m_TextOutput
text area for the output.protected BasePasswordFieldWithButton
m_TextPassword
the text field for the password.protected BaseTextField
m_TextRemote
the remote server.protected BaseTextField
m_TextUser
the text field for the user.-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
Fields inherited from class javax.swing.JComponent
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
accessibleContext, 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
Constructors Constructor Description SSHPanel()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
append(String msg, AttributeSet a)
Appends the msg to the output text area.protected boolean
canConnect()
Checks whether we can connect to a server.void
clear()
Clears the output.protected void
execCommand()
Executes, if possible, the currently entered command.protected void
finishInit()
Finalizes the initialization.Logger
getLogger()
Returns the logger in use.int
getPort()
Returns the currently set port.String
getRemote()
Returns the current remote server.protected void
handleConnectionEvent()
Connects or disconnects the client.protected void
initGUI()
For initializing the GUI.protected void
initialize()
For initializing members.boolean
isConnected()
Returns whether we're currently have a session running.boolean
isLoggingEnabled()
Returns whether logging is enabled.protected void
nextCommand()
Places the next command in the command text field, if available.protected void
previousCommand()
Places the previous command in the command text field, if available.void
setPort(int value)
Sets the port to use.void
setRemote(String value)
Sets the remote server.protected void
updateButtons()
Updates the status/text of the buttons.-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
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, getBaseline, getBaselineResizeBehavior, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
m_TextRemote
protected BaseTextField m_TextRemote
the remote server.
-
m_PortModel
protected SpinnerNumberModel m_PortModel
the model of the spinner.
-
m_SpinnerPort
protected JSpinner m_SpinnerPort
the port.
-
m_ButtonConnection
protected BaseButton m_ButtonConnection
for connecting/disconnecting.
-
m_FileChooserPanelKnownHosts
protected FileChooserPanel m_FileChooserPanelKnownHosts
the file panel for the known hosts.
-
m_AuthenticationPanels
protected HashMap<SSHAuthenticationType,JPanel> m_AuthenticationPanels
the authentication panels.
-
m_PanelAuthentication
protected JPanel m_PanelAuthentication
the authentication panel.
-
m_ComboBoxAuthenticationType
protected BaseComboBox<SSHAuthenticationType> m_ComboBoxAuthenticationType
the combobox for the authentication type.
-
m_FileChooserPanelKey
protected FileChooserPanel m_FileChooserPanelKey
the file panel for the key.
-
m_TextKeyPassphrase
protected BasePasswordFieldWithButton m_TextKeyPassphrase
the text field for the private key passphrase.
-
m_TextUser
protected BaseTextField m_TextUser
the text field for the user.
-
m_TextPassword
protected BasePasswordFieldWithButton m_TextPassword
the text field for the password.
-
m_TextOutput
protected BaseTextPaneWithButtons m_TextOutput
text area for the output.
-
m_ButtonClear
protected BaseButton m_ButtonClear
the button for clearing the output.
-
m_ButtonCopy
protected BaseButton m_ButtonCopy
the button for copying the selected output.
-
m_TextCommand
protected BaseTextField m_TextCommand
the text field for the command to issue.
-
m_ButtonCommand
protected BaseButton m_ButtonCommand
the button for executing the command.
-
m_Session
protected com.jcraft.jsch.Session m_Session
the ssh session.
-
m_Channel
protected com.jcraft.jsch.Channel m_Channel
the channel.
-
m_CommandIndex
protected int m_CommandIndex
the current command index.
-
m_Logger
protected Logger m_Logger
the logger in use.
-
m_AttributeSetCmd
protected SimpleAttributeSet m_AttributeSetCmd
the attributeset for commands.
-
m_AttributeSetRemote
protected SimpleAttributeSet m_AttributeSetRemote
the attributeset for remote output.
-
m_AttributeSetError
protected SimpleAttributeSet m_AttributeSetError
the attributeset for errors.
-
-
Method Detail
-
initialize
protected void initialize()
Description copied from class:BasePanel
For initializing members.- Overrides:
initialize
in classBasePanel
-
finishInit
protected void finishInit()
Finalizes the initialization.- Overrides:
finishInit
in classBasePanel
-
previousCommand
protected void previousCommand()
Places the previous command in the command text field, if available.
-
nextCommand
protected void nextCommand()
Places the next command in the command text field, if available.
-
append
protected void append(String msg, AttributeSet a)
Appends the msg to the output text area.- Parameters:
msg
- the text to append
-
canConnect
protected boolean canConnect()
Checks whether we can connect to a server.- Returns:
- true if we can connect
-
handleConnectionEvent
protected void handleConnectionEvent()
Connects or disconnects the client.
-
execCommand
protected void execCommand()
Executes, if possible, the currently entered command.
-
updateButtons
protected void updateButtons()
Updates the status/text of the buttons.
-
setRemote
public void setRemote(String value)
Sets the remote server.- Parameters:
value
- the server
-
getRemote
public String getRemote()
Returns the current remote server.- Returns:
- the server
-
setPort
public void setPort(int value)
Sets the port to use.- Parameters:
value
- the port
-
getPort
public int getPort()
Returns the currently set port.- Returns:
- the port
-
isConnected
public boolean isConnected()
Returns whether we're currently have a session running.- Returns:
- true if connected
-
getLogger
public Logger getLogger()
Returns the logger in use.- Specified by:
getLogger
in interfaceLoggingSupporter
- Returns:
- the logger
-
isLoggingEnabled
public boolean isLoggingEnabled()
Returns whether logging is enabled.- Specified by:
isLoggingEnabled
in interfaceLoggingSupporter
- Returns:
- true if at least
Level.INFO
-
clear
public void clear()
Clears the output.
-
-