Class FindReplaceDialog
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Dialog
-
- javax.swing.JDialog
-
- de.calcom.cclib.text.FindReplaceDialog
-
- All Implemented Interfaces:
java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
public class FindReplaceDialog extends javax.swing.JDialog
Dialog to manage find and replace on aDocument
shown in aJEditorPane
.The component has a 'pluggable' interface about how to deal with the event that one document has been searched to the end. If it is constructed with a FindReplaceListener, it shows an additional checkbox 'Whole project' where the user can select, if a group of documents shall be searched instead of a single document.
If only one document is searched, the dialog searches only in the document currently shown in the editor.
By adding a FindReplaceListener listening for FindReplaceEvents, the FindReplaceDialog notifies other classes about the fact that a group of documents shall be searched instead of only the current one.
Initially FindReplaceDialog notifies the listener that the first document in the group shall be loaded into the editor.
After loading the first document and resuming the find or replace operation, the listener gets informed that the end of a document has been reached. A handling method for that event should cause the editor to load the next document in the group before it resumes the find or replace operation.
Example for an implementation of FindReplaceListener:
IMPORTANT: the methods of the FindReplaceListener need to call either resumeOperation() or terminateOperation() on the FindReplaceDialog, that fired the FindReplaceEvent. Otherwise the FindReplaceDialog could 'hang'.
FindReplaceDialog frd = new FindReplaceDialog(aFrame, myEditorPane, new MyFindReplaceListener()); protected class MyFindReplaceListener implements FindReplaceListener { public void getNextDocument(FindReplaceEvent e) { if(documentsLeft()) { // documentsLeft() is a method coded somewhere else myEditorPane.setDocument(nextDocument()); // nextDocument() is a method coded somewhere else ((FindReplaceDialog) e.getSource()).resumeOperation(); } else { ((FindReplaceDialog) e.getSource()).terminateOperation(); } } public void getFirstDocument(FindReplaceEvent e) { myEditorPane.setDocument(firstDocument()); // firstDocument() is a method coded somewhere else ((FindReplaceDialog) e.getSource()).resumeOperation(); } }
Added i18n support for application SimplyHTML in version 1.5
- See Also:
Document
,JEditorPane
, Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
-
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
Fields Modifier and Type Field Description static int
MODE_DOCUMENT
static int
MODE_PROJECT
static int
OP_FIND
static int
OP_NONE
static int
OP_REPLACE
static int
RO_ALL
static int
RO_DONE
static int
RO_NO
static int
RO_YES
static boolean
STATE_LOCKED
static boolean
STATE_UNLOCKED
-
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
-
Constructor Summary
Constructors Constructor Description FindReplaceDialog()
Construct aFindReplaceDialog
.FindReplaceDialog(java.awt.Frame owner, javax.swing.JEditorPane editor)
Construct aFindReplaceDialog
.FindReplaceDialog(java.awt.Frame owner, javax.swing.JEditorPane editor, FindReplaceListener listener)
Construct aFindReplaceDialog
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addFindReplaceListener(FindReplaceListener listener)
add an event listener to this dialog.void
centerDialog(java.awt.Frame owner)
Center this dialog window relative to its owningFrame
.static void
rememberSearchTerm(java.lang.String searchTerm, javax.swing.JComboBox searchTermCombo)
void
removeFindReplaceListener(FindReplaceListener listener)
remove an event listener from this dialog.void
resumeOperation()
Resume the current operation after a getFirstDocument or getNextDocument event was firedvoid
setEditor(javax.swing.JEditorPane editor)
Set the JEditorPane holding the document to be searchedvoid
setMode(int mode)
Set the mode.void
setSearchingBusyCursor()
void
setSearchingDefaultCursor()
void
terminateOperation()
Terminate the current operation-
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
-
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
STATE_LOCKED
public static final boolean STATE_LOCKED
- See Also:
- Constant Field Values
-
STATE_UNLOCKED
public static final boolean STATE_UNLOCKED
- See Also:
- Constant Field Values
-
RO_YES
public static final int RO_YES
- See Also:
- Constant Field Values
-
RO_NO
public static final int RO_NO
- See Also:
- Constant Field Values
-
RO_ALL
public static final int RO_ALL
- See Also:
- Constant Field Values
-
RO_DONE
public static final int RO_DONE
- See Also:
- Constant Field Values
-
MODE_DOCUMENT
public static final int MODE_DOCUMENT
- See Also:
- Constant Field Values
-
MODE_PROJECT
public static final int MODE_PROJECT
- See Also:
- Constant Field Values
-
OP_NONE
public static final int OP_NONE
- See Also:
- Constant Field Values
-
OP_FIND
public static final int OP_FIND
- See Also:
- Constant Field Values
-
OP_REPLACE
public static final int OP_REPLACE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FindReplaceDialog
public FindReplaceDialog()
Construct aFindReplaceDialog
.Does not show the dialog window, as fields 'editor' and 'doc' have to be set separately before the dialog is operable.
- See Also:
JEditorPane
,Document
,Frame
-
FindReplaceDialog
public FindReplaceDialog(java.awt.Frame owner, javax.swing.JEditorPane editor)
Construct aFindReplaceDialog
.Shows the dialog window modal, packed and centered over the owning
Frame
after construction.Using this constructor implies the dialog shall be used in mode MODE_DOCUMENT
- Parameters:
owner
- theFrame
that owns this dialogeditor
-JEditorPane
displaying theDocument
to seach in- See Also:
JEditorPane
,Document
,Frame
-
FindReplaceDialog
public FindReplaceDialog(java.awt.Frame owner, javax.swing.JEditorPane editor, FindReplaceListener listener)
Construct aFindReplaceDialog
.Shows the dialog window modal, packed and centered over the owning
Frame
after construction.Using this constructor implies the dialog shall be used in mode MODE_PROJECT
- Parameters:
owner
- theFrame
that owns this dialogeditor
-JEditorPane
displaying theDocument
to seach inlistener
- listener for handling FindReplaceEvents- See Also:
JEditorPane
,Document
,Frame
-
-
Method Detail
-
addFindReplaceListener
public void addFindReplaceListener(FindReplaceListener listener)
add an event listener to this dialog.- Parameters:
listener
- the event listener to add
-
removeFindReplaceListener
public void removeFindReplaceListener(FindReplaceListener listener)
remove an event listener from this dialog.- Parameters:
listener
- the event listener to remove
-
resumeOperation
public void resumeOperation()
Resume the current operation after a getFirstDocument or getNextDocument event was fired
-
terminateOperation
public void terminateOperation()
Terminate the current operation
-
setEditor
public void setEditor(javax.swing.JEditorPane editor)
Set the JEditorPane holding the document to be searched- Parameters:
editor
- the JEditorPane holding the document to be searched- See Also:
JEditorPane
-
setMode
public void setMode(int mode)
Set the mode.Switches between
- MODE_DOCUMENT: only the document currently viewed in the editor can be searched
- MODE_PROJECT: An additional check box allows to choose, whether or not the user likes to search a whole group of documents.
- Parameters:
mode
- one of MODE_DOCUMENT and MODE_PROJECT
-
setSearchingBusyCursor
public void setSearchingBusyCursor()
-
setSearchingDefaultCursor
public void setSearchingDefaultCursor()
-
centerDialog
public void centerDialog(java.awt.Frame owner)
Center this dialog window relative to its owningFrame
.- Parameters:
owner
-Frame
owning this dialog- See Also:
Frame
-
rememberSearchTerm
public static void rememberSearchTerm(java.lang.String searchTerm, javax.swing.JComboBox searchTermCombo)
-
-