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 SimpleAttributeSetm_AttributeSetCmdthe attributeset for commands.protected SimpleAttributeSetm_AttributeSetErrorthe attributeset for errors.protected SimpleAttributeSetm_AttributeSetRemotethe attributeset for remote output.protected HashMap<SSHAuthenticationType,JPanel>m_AuthenticationPanelsthe authentication panels.protected BaseButtonm_ButtonClearthe button for clearing the output.protected BaseButtonm_ButtonCommandthe button for executing the command.protected BaseButtonm_ButtonConnectionfor connecting/disconnecting.protected BaseButtonm_ButtonCopythe button for copying the selected output.protected com.jcraft.jsch.Channelm_Channelthe channel.protected BaseComboBox<SSHAuthenticationType>m_ComboBoxAuthenticationTypethe combobox for the authentication type.protected List<String>m_CommandHistorythe command history.protected intm_CommandIndexthe current command index.protected FileChooserPanelm_FileChooserPanelKeythe file panel for the key.protected FileChooserPanelm_FileChooserPanelKnownHoststhe file panel for the known hosts.protected Loggerm_Loggerthe logger in use.protected JPanelm_PanelAuthenticationthe authentication panel.protected SpinnerNumberModelm_PortModelthe model of the spinner.protected com.jcraft.jsch.Sessionm_Sessionthe ssh session.protected JSpinnerm_SpinnerPortthe port.protected BaseTextFieldm_TextCommandthe text field for the command to issue.protected BasePasswordFieldWithButtonm_TextKeyPassphrasethe text field for the private key passphrase.protected BaseTextPaneWithButtonsm_TextOutputtext area for the output.protected BasePasswordFieldWithButtonm_TextPasswordthe text field for the password.protected BaseTextFieldm_TextRemotethe remote server.protected BaseTextFieldm_TextUserthe 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 voidappend(String msg, AttributeSet a)Appends the msg to the output text area.protected booleancanConnect()Checks whether we can connect to a server.voidclear()Clears the output.protected voidexecCommand()Executes, if possible, the currently entered command.protected voidfinishInit()Finalizes the initialization.LoggergetLogger()Returns the logger in use.intgetPort()Returns the currently set port.StringgetRemote()Returns the current remote server.protected voidhandleConnectionEvent()Connects or disconnects the client.protected voidinitGUI()For initializing the GUI.protected voidinitialize()For initializing members.booleanisConnected()Returns whether we're currently have a session running.booleanisLoggingEnabled()Returns whether logging is enabled.protected voidnextCommand()Places the next command in the command text field, if available.protected voidpreviousCommand()Places the previous command in the command text field, if available.voidsetPort(int value)Sets the port to use.voidsetRemote(String value)Sets the remote server.protected voidupdateButtons()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:BasePanelFor initializing members.- Overrides:
initializein classBasePanel
-
finishInit
protected void finishInit()
Finalizes the initialization.- Overrides:
finishInitin 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:
getLoggerin interfaceLoggingSupporter- Returns:
- the logger
-
isLoggingEnabled
public boolean isLoggingEnabled()
Returns whether logging is enabled.- Specified by:
isLoggingEnabledin interfaceLoggingSupporter- Returns:
- true if at least
Level.INFO
-
clear
public void clear()
Clears the output.
-
-