dip.gui.dialog
Class TextViewer

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjava.awt.Window
              extended byjava.awt.Dialog
                  extended byjavax.swing.JDialog
                      extended bydip.gui.dialog.XDialog
                          extended bydip.gui.dialog.HeaderDialog
                              extended bydip.gui.dialog.TextViewer
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants
Direct Known Subclasses:
ErrorDialog

public class TextViewer
extends HeaderDialog

Display and (optionally) edit Text inside a HeaderDialog.

May display plain or HTML-formatted text. Has a menu allowing (as appropriate) cut/copy/paste/select all/clear of contents.

Note: When constructing a TextViewer, don't forget to set if modality with setModal() and the title, with setTitle().

Nonmodal textboxes have some convenince methods available to allow lazy-loading of text. This improves perceived responsiveness.

See Also:
Serialized Form

Nested Class Summary
static interface TextViewer.AcceptListener
          AcceptListener: This class is called when the "Accept" button in clicked.
static class TextViewer.TVRunnable
          Lazy Loading worker thread; must be subclassed
 
Nested classes inherited from class dip.gui.dialog.HeaderDialog
HeaderDialog.GradientXJEditorPane
 
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
static java.lang.String CONTENT_HTML
          Content Type: text/html
static java.lang.String CONTENT_PLAIN
          Content Type: text/plain
protected static java.awt.Font tvFont
          Default text area font
 
Fields inherited from class dip.gui.dialog.HeaderDialog
ACTION_ACCEPT, ACTION_CANCEL, ACTION_CLOSE, ACTION_OK, BTN_BAR_BETWEEN, BTN_BAR_EDGE, header
 
Fields inherited from class dip.gui.dialog.XDialog
TEXT_ACCEPT, TEXT_CANCEL, TEXT_CLOSE, TEXT_OK
 
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
TextViewer(javax.swing.JFrame parent)
          Create a non-modal TextViewer
TextViewer(javax.swing.JFrame parent, boolean isModal)
          Create a TextViewer
 
Method Summary
protected  void close(java.lang.String actionCommand)
          Close() override.
 boolean displayDialog()
          Display the TextViewer, and return true if the text was acceptable, or false otherwise.
protected  java.lang.String filterExportedText(java.lang.String in)
          Allows modification of the exported document text prior to placing it in the system clipboard.
protected  java.lang.String filterHTML(java.lang.String in)
          Simple HTML filter.
 javax.swing.JEditorPane getEditorPane()
          Get the JEditorPane component
protected  java.io.File getFileName(SimpleFileFilter sff)
          Popup a file requester; returns the file name, or null if the requester was cancelled.
 java.lang.String getText()
          Get the TextViewer text.
 void lazyLoadDisplayDialog(TextViewer.TVRunnable r)
          Sets the content type to "text/HTML", sets the loading message (WAIT_MESSAGE), then displays the dialog.
protected  void saveContents()
          Saves the contents of the Dialog.
 void setAcceptListener(TextViewer.AcceptListener value)
          Set the AcceptListener.
 void setContentType(java.lang.String text)
          Set the Content Type (e.g., "text/html", or "text/plain") of the TextViewer
 void setEditable(boolean value)
          Set if this TextViewer is editable
 void setFont(java.awt.Font font)
          Set Font.
 void setHighlightable(boolean value)
          Set if this TextViewer is highlightable
 void setHorizontalScrollBarPolicy(int policy)
          Change how Horizontal scrolling is handled.
 void setText(java.lang.String value)
          Set the TextViewer text.
 
Methods inherited from class dip.gui.dialog.HeaderDialog
addSingleButton, addToButtonPanel, addTwoButtons, close, createDefaultContentBorder, getButton, getContentPane, getDefaultButton, getReturnedActionCommand, isCloseOrCancel, isOKorAccept, makeAcceptButton, makeButton, makeCancelButton, makeCloseButton, makeGlue, makeOKButton, makeSpacer, setContentPane, setDefaultButton, setDefaultCloseButton, setHeaderText, setHeaderVisible, setSeparatorVisible
 
Methods inherited from class dip.gui.dialog.XDialog
createRootPane, dialogInit, setDefaultCloseOperation, setHelpID
 
Methods inherited from class javax.swing.JDialog
addImpl, getAccessibleContext, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, 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, 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, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

CONTENT_HTML

public static final java.lang.String CONTENT_HTML
Content Type: text/html

See Also:
Constant Field Values

CONTENT_PLAIN

public static final java.lang.String CONTENT_PLAIN
Content Type: text/plain

See Also:
Constant Field Values

tvFont

protected static final java.awt.Font tvFont
Default text area font

Constructor Detail

TextViewer

public TextViewer(javax.swing.JFrame parent)
Create a non-modal TextViewer


TextViewer

public TextViewer(javax.swing.JFrame parent,
                  boolean isModal)
Create a TextViewer

Method Detail

displayDialog

public boolean displayDialog()
Display the TextViewer, and return true if the text was acceptable, or false otherwise. If the dialog is closed / cancelled, false is returned.


filterExportedText

protected java.lang.String filterExportedText(java.lang.String in)
Allows modification of the exported document text prior to placing it in the system clipboard. Thus this method is called after a copy() occurs, but before the data is placed into the clipboard. This method should NOT return null.

By default, this method will search for unicode arrow ? and replace it with "->".


filterHTML

protected java.lang.String filterHTML(java.lang.String in)
Simple HTML filter. This creates 'plain text' from a "text/html" MIME type. All this does is exclude content between angle brackets.


lazyLoadDisplayDialog

public void lazyLoadDisplayDialog(TextViewer.TVRunnable r)
Sets the content type to "text/HTML", sets the loading message (WAIT_MESSAGE), then displays the dialog.

This only works for non-modal dialogs!


setHorizontalScrollBarPolicy

public void setHorizontalScrollBarPolicy(int policy)
Change how Horizontal scrolling is handled.


setContentType

public void setContentType(java.lang.String text)
Set the Content Type (e.g., "text/html", or "text/plain") of the TextViewer


setFont

public void setFont(java.awt.Font font)
Set Font. Use is not recommended if content type is "text/html".


getEditorPane

public javax.swing.JEditorPane getEditorPane()
Get the JEditorPane component


setAcceptListener

public void setAcceptListener(TextViewer.AcceptListener value)
Set the AcceptListener. If no AcceptListener is desired, the AcceptListener may be set to null.


setEditable

public void setEditable(boolean value)
Set if this TextViewer is editable


setHighlightable

public void setHighlightable(boolean value)
Set if this TextViewer is highlightable


setText

public void setText(java.lang.String value)
Set the TextViewer text. Note: setContentType() should be called first.


getText

public java.lang.String getText()
Get the TextViewer text.


close

protected void close(java.lang.String actionCommand)
Close() override. Calls AcceptListener (if any) on OK or Close actions.

Overrides:
close in class HeaderDialog

saveContents

protected void saveContents()
Saves the contents of the Dialog. This saves as HTML if we are text/HTML, otherwise, it saves as a .txt file.


getFileName

protected java.io.File getFileName(SimpleFileFilter sff)
Popup a file requester; returns the file name, or null if the requester was cancelled.



Copyright 2002-2004 Zachary DelProposto / jDip Development Team. All Rights Reserved.