org.fife.ui.search
Class ReplaceDialog

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended byjavax.swing.JDialog
                      extended byorg.fife.ui.EscapableDialog
                          extended byorg.fife.ui.search.AbstractSearchDialog
                              extended byorg.fife.ui.search.AbstractFindReplaceDialog
                                  extended byorg.fife.ui.search.ReplaceDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class ReplaceDialog
extends AbstractFindReplaceDialog
implements java.awt.event.ActionListener

A "Replace" dialog similar to those found in most Windows text editing applications. Contains many search options, including:

The dialog also remembers your previous several selections in a combo box.

An application can use a ReplaceDialog as follows. It is suggested that you create an Action or something similar to facilitate "bringing up" the Replace dialog. Have the main application contain an object that implements both PropertyChangeListener and ActionListener. This object will receive the following events from the Replace dialog:

The property events listed can all be ignored in a simple case; the Replace dialog will remember the state of its checkboxes between invocations. However, if your application has both a Find and Replace dialog, you may wish to use these messages to synchronize the two search dialogs' options.

Version:
1.0
Author:
Robert Futrell
See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class org.fife.ui.search.AbstractSearchDialog
AbstractSearchDialog.EnableResult
 
Nested classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.fife.ui.search.AbstractFindReplaceDialog
dirPanel, downButton, findFieldLabel, findNextButton, MARK_ALL_PROPERTY, markAllCheckBox, SEARCH_DOWNWARD_PROPERTY, upButton
 
Fields inherited from class org.fife.ui.search.AbstractSearchDialog
cancelButton, caseCheckBox, findTextCombo, MATCH_CASE_PROPERTY, MATCH_WHOLE_WORD_PROPERTY, regExpCheckBox, searchConditionsPanel, USE_REG_EX_PROPERTY, wholeWordCheckBox
 
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
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ReplaceDialog(java.awt.Frame owner, java.awt.event.ActionListener actionListener)
          Creates a new ReplaceDialog.
ReplaceDialog(java.awt.Frame owner, java.awt.event.ActionListener actionListener, java.util.ResourceBundle resources)
          Creates a new ReplaceDialog.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Listens for action events in this dialog.
 void addActionListener(java.awt.event.ActionListener l)
          Adds an ActionListener to this dialog.
protected  void escapePressed()
          Called when the Escape key is pressed in this dialog.
 java.lang.String getReplaceAllButtonText()
          Returns the text on the "Replace All" button.
 java.lang.String getReplaceButtonText()
          Returns the text on the "Replace" button.
 java.lang.String getReplaceString()
          Returns the java.lang.String to replace with.
 java.lang.String getReplaceWithLabelText()
          Returns the label on the "Replace with" text field.
protected  void handleRegExCheckBoxClicked()
          Called when the regex checkbox is clicked.
protected  AbstractSearchDialog.EnableResult handleToggleButtons()
          Returns whether any action-related buttons (Find Next, Replace, etc.)
 void removeActionListener(java.awt.event.ActionListener l)
          Removes an ActionListener from this dialog.
 void setReplaceAllButtonText(java.lang.String text)
          Sets the text on the "Replace All" button.
 void setReplaceButtonText(java.lang.String text)
          Sets the text on the "Replace" button.
 void setReplaceString(java.lang.String newReplaceString)
          Sets the java.lang.String to replace with
 void setReplaceWithLabelText(java.lang.String text)
          Sets the label on the "Replace with" text field.
 void setVisible(boolean visible)
          Overrides JDialog's setVisible method; decides whether or not buttons are enabled.
 void updateUI()
          Called whenever the user changes the Look and Feel, etc.
 
Methods inherited from class org.fife.ui.search.AbstractFindReplaceDialog
changeActionListener, createLabel, getDownRadioButtonText, getFindButtonText, getFindWhatLabelText, getSearchButtonsBorderText, getUpRadioButtonText, setDownRadioButtonText, setFindButtonText, setFindWhatLabelText, setSearchButtonsBorderText, setSearchParameters, setSearchParameters, setUpRadioButtonText
 
Methods inherited from class org.fife.ui.search.AbstractSearchDialog
createSearchComboBox, createTitledBorder, getCancelButtonText, getContentAssistImage, getMatchCaseCheckboxText, getRegularExpressionCheckboxText, getSearchString, getSearchStrings, getTextComponent, getWholeWordCheckboxText, isPreJava6JRE, isWholeWord, setCancelButtonText, setMatchCaseCheckboxText, setRegularExpressionCheckboxText, setSearchString, setWholeWordCheckboxText
 
Methods inherited from class org.fife.ui.EscapableDialog
setEscapeClosesDialog
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, toBack, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, 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, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ReplaceDialog

public ReplaceDialog(java.awt.Frame owner,
                     java.awt.event.ActionListener actionListener)
Creates a new ReplaceDialog.

Parameters:
owner - The main window that owns this dialog.
actionListener - The component that listens for "Replace" actions.

ReplaceDialog

public ReplaceDialog(java.awt.Frame owner,
                     java.awt.event.ActionListener actionListener,
                     java.util.ResourceBundle resources)
Creates a new ReplaceDialog.

Parameters:
owner - The main window that owns this dialog.
actionListener - The component that listens for "Replace" actions.
resources - The resource bundle from which to get strings, etc.
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)
Description copied from class: AbstractFindReplaceDialog
Listens for action events in this dialog.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
Overrides:
actionPerformed in class AbstractFindReplaceDialog
Parameters:
e - The event that occurred.

addActionListener

public void addActionListener(java.awt.event.ActionListener l)
Adds an ActionListener to this dialog. The listener will receive notification when the user clicks the "Find" button with an actionCommand string of "FindNext", an actionCommand string of "Replace" when the user clicks the "Replace" button, and an actionCommand string of "ReplaceAll" when the user clicks the "Replace All" button.

Specified by:
addActionListener in class AbstractFindReplaceDialog
Parameters:
l - The listener to add.
See Also:
removeActionListener(java.awt.event.ActionListener)

escapePressed

protected void escapePressed()
Description copied from class: EscapableDialog
Called when the Escape key is pressed in this dialog. Subclasses can override to handle any custom "Cancel" logic. The default implementation hides the dialog (via setVisible(false);).

Overrides:
escapePressed in class AbstractSearchDialog

getReplaceButtonText

public final java.lang.String getReplaceButtonText()
Returns the text on the "Replace" button.

Returns:
The text on the Replace button.
See Also:
setReplaceButtonText(java.lang.String)

getReplaceAllButtonText

public final java.lang.String getReplaceAllButtonText()
Returns the text on the "Replace All" button.

Returns:
The text on the Replace All button.
See Also:
setReplaceAllButtonText(java.lang.String)

getReplaceString

public java.lang.String getReplaceString()
Returns the java.lang.String to replace with.

Returns:
The java.lang.String the user wants to replace the text to find with.

getReplaceWithLabelText

public final java.lang.String getReplaceWithLabelText()
Returns the label on the "Replace with" text field.

Returns:
The text on the "Replace with" text field.
See Also:
setReplaceWithLabelText(java.lang.String)

handleRegExCheckBoxClicked

protected void handleRegExCheckBoxClicked()
Called when the regex checkbox is clicked. Subclasses can override to add custom behavior, but should call the super implementation.

Overrides:
handleRegExCheckBoxClicked in class AbstractSearchDialog

handleToggleButtons

protected AbstractSearchDialog.EnableResult handleToggleButtons()
Description copied from class: AbstractSearchDialog
Returns whether any action-related buttons (Find Next, Replace, etc.) should be enabled. Subclasses can call this method when the "Find What" or "Replace With" text fields are modified. They can then enable/disable any components as appropriate.

Overrides:
handleToggleButtons in class AbstractFindReplaceDialog

removeActionListener

public void removeActionListener(java.awt.event.ActionListener l)
Removes an ActionListener from this dialog.

Specified by:
removeActionListener in class AbstractFindReplaceDialog
Parameters:
l - The listener to remove
See Also:
addActionListener(java.awt.event.ActionListener)

setReplaceButtonText

public final void setReplaceButtonText(java.lang.String text)
Sets the text on the "Replace" button.

Parameters:
text - The text for the Replace button.
See Also:
getReplaceButtonText()

setReplaceAllButtonText

public final void setReplaceAllButtonText(java.lang.String text)
Sets the text on the "Replace All" button.

Parameters:
text - The text for the Replace All button.
See Also:
getReplaceAllButtonText()

setReplaceWithLabelText

public final void setReplaceWithLabelText(java.lang.String text)
Sets the label on the "Replace with" text field.

Parameters:
text - The text for the "Replace with" text field's label.
See Also:
getReplaceWithLabelText()

setReplaceString

public void setReplaceString(java.lang.String newReplaceString)
Sets the java.lang.String to replace with

Parameters:
newReplaceString - The java.lang.String to put into the replace field.

setVisible

public void setVisible(boolean visible)
Overrides JDialog's setVisible method; decides whether or not buttons are enabled.

Overrides:
setVisible in class AbstractSearchDialog
Parameters:
visible - Whether or not the dialog should be visible.

updateUI

public void updateUI()
Called whenever the user changes the Look and Feel, etc. This is overridden so we can reinstate the listeners that are evidently lost on the JTextField portion of our combo box.