Package adams.gui.core
Class ConsolePanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.ConsolePanel
-
- All Implemented Interfaces:
MenuBarProvider
,SendToActionSupporter
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class ConsolePanel extends BasePanel implements MenuBarProvider, SendToActionSupporter
Global panel for capturing output via PrintObject instances.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ConsolePanel.ConsolePanelOutputStream
For lettingPrintStream
objects print to theConsolePanel
.static class
ConsolePanel.OutputPanel
Represents a single panel for a specific type of output.static class
ConsolePanel.PanelType
The type of panel.-
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 static String
FILENAME
the props file with the style definitions.protected HashSet<ConsolePanelListener>
m_Listeners
the listeners.protected PlaceholderFile
m_Log
the name of the log file.protected JMenuBar
m_MenuBar
the menu bar.protected JMenuItem
m_MenuItemClear
the clear item.protected JMenuItem
m_MenuItemClearAll
the clear all item.protected JMenuItem
m_MenuItemCopy
the copy item.protected JMenuItem
m_MenuItemExit
the close item.protected JMenuItem
m_MenuItemFind
the find item.protected JMenuItem
m_MenuItemFindNext
the find next item.protected JMenuItem
m_MenuItemSaveAs
the save as item.protected ConsolePanel.OutputPanel
m_PanelAll
the ALL panel.protected ConsolePanel.OutputPanel
m_PanelError
the error panel.protected static Properties
m_Properties
the properties.protected static ConsolePanel
m_Singleton
the singleton.protected BaseTabbedPane
m_TabbedPane
the tabbed pane for the various outputs.-
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 Modifier Constructor Description protected
ConsolePanel()
Initializes the panel.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addListener(ConsolePanelListener l)
Adds the listener.void
append(LoggingLevel level, String msg)
Appends the given string to the according panels.void
append(Object source, LoggingLevel level, String msg)
Convenience method for outputting exceptions.void
append(Object source, String msg, Throwable t)
Convenience method for outputting exceptions.void
append(String msg, Throwable t)
Convenience method for outputting exceptions.ConsolePanel.OutputPanel
getCurrentPanel()
Returns the current output panel.JMenuBar
getMenuBar()
Creates a menu bar (singleton per panel object).ConsolePanel.OutputPanel
getPanel(ConsolePanel.PanelType type)
Returns the specified output panel.static Properties
getProperties()
Returns the syntax style definition.Class[]
getSendToClasses()
Returns the classes that the supporter generates.Object
getSendToItem(Class[] cls)
Returns the object to send.static ConsolePanel
getSingleton()
Returns the singleton instance.boolean
hasSendToItem(Class[] cls)
Checks whether something to send is available.protected void
initGUI()
Initializes the GUI.protected void
initialize()
Initializes the members.protected void
initializeLogging()
Initializes the logging.static Color
levelToColor(LoggingLevel level)
Turns the logging level into a color.static Color
levelToColor(Level level)
Turns the logging level into a color.protected void
notifyListeners(LoggingLevel level, String msg)
Notifies the listeners.void
removeListener(ConsolePanelListener l)
Removes the listener.-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, 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
-
FILENAME
public static final String FILENAME
the props file with the style definitions.- See Also:
- Constant Field Values
-
m_Properties
protected static Properties m_Properties
the properties.
-
m_Singleton
protected static ConsolePanel m_Singleton
the singleton.
-
m_TabbedPane
protected BaseTabbedPane m_TabbedPane
the tabbed pane for the various outputs.
-
m_PanelAll
protected ConsolePanel.OutputPanel m_PanelAll
the ALL panel.
-
m_PanelError
protected ConsolePanel.OutputPanel m_PanelError
the error panel.
-
m_MenuBar
protected JMenuBar m_MenuBar
the menu bar.
-
m_MenuItemSaveAs
protected JMenuItem m_MenuItemSaveAs
the save as item.
-
m_MenuItemExit
protected JMenuItem m_MenuItemExit
the close item.
-
m_MenuItemCopy
protected JMenuItem m_MenuItemCopy
the copy item.
-
m_MenuItemClear
protected JMenuItem m_MenuItemClear
the clear item.
-
m_MenuItemClearAll
protected JMenuItem m_MenuItemClearAll
the clear all item.
-
m_MenuItemFind
protected JMenuItem m_MenuItemFind
the find item.
-
m_MenuItemFindNext
protected JMenuItem m_MenuItemFindNext
the find next item.
-
m_Listeners
protected HashSet<ConsolePanelListener> m_Listeners
the listeners.
-
m_Log
protected PlaceholderFile m_Log
the name of the log file.
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classBasePanel
-
initializeLogging
protected void initializeLogging()
Initializes the logging.
SeeFileHandler.ADAMS_LOGFILE_PREFIX
for injecting prefix to log file via environment variable.
-
getMenuBar
public JMenuBar getMenuBar()
Creates a menu bar (singleton per panel object). Can be used in frames.- Specified by:
getMenuBar
in interfaceMenuBarProvider
- Returns:
- the menu bar
-
getCurrentPanel
public ConsolePanel.OutputPanel getCurrentPanel()
Returns the current output panel.- Returns:
- the panel, null if none available
-
getPanel
public ConsolePanel.OutputPanel getPanel(ConsolePanel.PanelType type)
Returns the specified output panel.- Parameters:
type
- the panel to retrieve- Returns:
- the panel
-
addListener
public void addListener(ConsolePanelListener l)
Adds the listener.- Parameters:
l
- the listener to add
-
removeListener
public void removeListener(ConsolePanelListener l)
Removes the listener.- Parameters:
l
- the listener to remove
-
notifyListeners
protected void notifyListeners(LoggingLevel level, String msg)
Notifies the listeners.- Parameters:
level
- the logging level of output the string representsmsg
- the message to append
-
append
public void append(String msg, Throwable t)
Convenience method for outputting exceptions.- Parameters:
msg
- the message to precede the stacktracet
- the exception (stacktrace will be output)
-
append
public void append(Object source, String msg, Throwable t)
Convenience method for outputting exceptions.- Parameters:
source
- the source objectmsg
- the message to precede the stacktracet
- the exception (stacktrace will be output)
-
append
public void append(Object source, LoggingLevel level, String msg)
Convenience method for outputting exceptions.- Parameters:
source
- the source objectlevel
- the logging levelmsg
- the message to precede the stacktrace
-
append
public void append(LoggingLevel level, String msg)
Appends the given string to the according panels.- Parameters:
level
- the logging levelmsg
- the message to append
-
getSendToClasses
public Class[] getSendToClasses()
Returns the classes that the supporter generates.- Specified by:
getSendToClasses
in interfaceSendToActionSupporter
- Returns:
- the classes
-
hasSendToItem
public boolean hasSendToItem(Class[] cls)
Checks whether something to send is available.- Specified by:
hasSendToItem
in interfaceSendToActionSupporter
- Parameters:
cls
- the requested classes- Returns:
- true if an object is available for sending
-
getSendToItem
public Object getSendToItem(Class[] cls)
Returns the object to send.- Specified by:
getSendToItem
in interfaceSendToActionSupporter
- Parameters:
cls
- the requested classes- Returns:
- the item to send
-
getProperties
public static Properties getProperties()
Returns the syntax style definition.- Returns:
- the props file with the definitions
-
levelToColor
public static Color levelToColor(LoggingLevel level)
Turns the logging level into a color.- Parameters:
level
- the level- Returns:
- the associated color
-
levelToColor
public static Color levelToColor(Level level)
Turns the logging level into a color.- Parameters:
level
- the level- Returns:
- the associated color
-
getSingleton
public static ConsolePanel getSingleton()
Returns the singleton instance.- Returns:
- the singleton
-
-