public class ProgressPanel extends JPanel implements ActionListener, StatusLogger
This class is designed to be usable from any threadand all GUI access is done synchronously in the event dispatching thread.
JPanel.AccessibleJPanel
JComponent.AccessibleJComponent
Container.AccessibleAWTContainer
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
Modifier and Type | Field and Description |
---|---|
protected JLabel |
iconLabel
Displays the active GIF icon
|
protected boolean |
interrupted
Set to true if the stop button was pressed
|
protected ProgressBarFilterInputStream |
loggedInputStream
If set, this is the current input stream being monitored
|
protected static ProgressPanel |
newPanel
Used to create a new progress panel in the event dispatching thread
|
protected Component |
parent
Parent of this window (frame or internal frame), used to close the window
|
protected StatusPanel |
statusPanel
Displays the progress bar and status text
|
protected JButton |
stopButton
Button to interrupt the task
|
protected String |
title
The title string
|
protected JLabel |
titleLabel
Displays the title
|
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
Constructor and Description |
---|
ProgressPanel()
Default constructor
|
ProgressPanel(Component parent,
String title)
Initialize a progress panel with the given title string.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e)
Called when the Stop button is pressed.
|
void |
addActionListener(ActionListener l)
Add a listener to be called when the user presses the stop button.
|
ProgressBarFilterInputStream |
getLoggedInputStream(InputStream in,
int size)
Return a input stream that will generate log messages showing
the progress of the read from the given stream.
|
ProgressBarFilterInputStream |
getLoggedInputStream(URL url)
Return an input stream to use for reading from the given URL
that will generate log messages showing the progress of the read.
|
StatusPanel |
getStatusPanel()
Return the status panel (displays the progress bar and text field).
|
protected void |
init()
Initialize the progreass panel.
|
protected static void |
invokeAndWait(Runnable r)
Run the given Runnable synchronously in the event dispatching thread.
|
boolean |
isInterrupted()
Return true if the stop button was pressed
|
void |
logMessage(String msg)
Log or display the given message
|
static ProgressPanel |
makeProgressPanel()
Make a ProgressPanel and frame (or internal frame) and return the panel.
|
static ProgressPanel |
makeProgressPanel(String title)
Make a ProgressPanel and frame (or internal frame) and return the panel.
|
static ProgressPanel |
makeProgressPanel(String title,
Component window)
Make a ProgressPanel and frame (or internal frame) and return the panel.
|
URLConnection |
openConnection(URL url)
Return a connection to the given URL and log messages before and after
opening the connection.
|
void |
setParent(Component parent)
Set the parent frame or internal frame, used to close the window
|
void |
setProgress(int percent)
Set the percent done.
|
void |
setText(String s)
Set the status text to display.
|
void |
setTitle(String title)
Set the title string.
|
void |
start()
Display the progress panel.
|
void |
stop()
Stop displaying the progress panel.
|
void |
stopLoggingInputStream(ProgressBarFilterInputStream in)
Stop logging reads from the input stream returned from an
earlier call to getLoggedInputStream().
|
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
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, setVisible, unregisterKeyboardAction, update
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
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, 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, transferFocusBackward, transferFocusUpCycle
protected Component parent
protected String title
protected JLabel titleLabel
protected JLabel iconLabel
protected JButton stopButton
protected StatusPanel statusPanel
protected ProgressBarFilterInputStream loggedInputStream
protected boolean interrupted
protected static ProgressPanel newPanel
public ProgressPanel(Component parent, String title)
parent
- the parent frame or internal frame, used to close the windowthe
- title stringpublic ProgressPanel()
protected void init()
protected static void invokeAndWait(Runnable r)
public void setParent(Component parent)
public void setTitle(String title)
public void logMessage(String msg)
logMessage
in interface StatusLogger
public void setText(String s)
public void addActionListener(ActionListener l)
public StatusPanel getStatusPanel()
public void actionPerformed(ActionEvent e)
actionPerformed
in interface ActionListener
public boolean isInterrupted()
public URLConnection openConnection(URL url) throws IOException
openConnection
in interface StatusLogger
IOException
public void start()
public void stop()
public static ProgressPanel makeProgressPanel(String title, Component window)
title
- the title stringwindow
- window to display the dialog over, may be nullpublic static ProgressPanel makeProgressPanel(String title)
title
- the title stringpublic static ProgressPanel makeProgressPanel()
the
- title stringpublic void setProgress(int percent)
setProgress
in interface StatusLogger
public ProgressBarFilterInputStream getLoggedInputStream(InputStream in, int size) throws IOException
getLoggedInputStream
in interface StatusLogger
in
- the input stream to be monitoredsize
- the size in bytes of the date to be read, or 0 if not knownIOException
public ProgressBarFilterInputStream getLoggedInputStream(URL url) throws IOException
getLoggedInputStream
in interface StatusLogger
url
- the URL to readIOException
public void stopLoggingInputStream(ProgressBarFilterInputStream in) throws IOException
stopLoggingInputStream
in interface StatusLogger
in
- an input stream returned from getLoggedInputStream()IOException
Copyright © 2023 Central Laboratory of the Research Councils. All Rights Reserved.