Class SHTMLEditorPane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.text.JTextComponent
-
- javax.swing.JEditorPane
-
- com.lightdev.app.shtm.SHTMLEditorPane
-
- All Implemented Interfaces:
java.awt.dnd.DragGestureListener
,java.awt.dnd.DragSourceListener
,java.awt.dnd.DropTargetListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.Scrollable
public class SHTMLEditorPane extends javax.swing.JEditorPane implements java.awt.dnd.DropTargetListener, java.awt.dnd.DragSourceListener, java.awt.dnd.DragGestureListener
An editor pane for application SimplyHTML.This is extending
JEditorPane
by cut and paste and drag and drop for HTML text.JEditorPane
inherits cut and paste fromJTextComponent
where handling for plain text is implemented only.JEditorPane
has no additional functionality to add cut and paste for the various content types it supports (such as 'text/html').In stage 4 support for caret movement inside tables and table manipulation methods are added.
In stage 6 support for list manipulation was added.
- See Also:
HTMLText
,HTMLTextSelection
, Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SHTMLEditorPane.PasteMode
-
Nested classes/interfaces inherited from class javax.swing.JEditorPane
javax.swing.JEditorPane.AccessibleJEditorPane, javax.swing.JEditorPane.AccessibleJEditorPaneHTML, javax.swing.JEditorPane.JEditorPaneAccessibleHypertextSupport
-
Nested classes/interfaces inherited from class javax.swing.text.JTextComponent
javax.swing.text.JTextComponent.AccessibleJTextComponent, javax.swing.text.JTextComponent.DropLocation, javax.swing.text.JTextComponent.KeyBinding
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static int
ALL_CELLS
range indicator for applying attributes to all cellsstatic java.lang.String
DEFAULT_TABLE_WIDTH
default table widthstatic java.lang.String
DEFAULT_VERTICAL_ALIGN
default vertical alignmentstatic java.lang.String
deleteNextCharAction
static java.lang.String
deletePrevCharAction
static java.lang.String
endAction
static java.lang.String
homeAction
static java.lang.String
insertLineBreakAction
static java.lang.String
moveDownAction
static java.lang.String
moveUpAction
static java.lang.String
newListItemAction
static java.lang.String
shiftEndAction
static java.lang.String
shiftHomeAction
static int
THIS_CELL
range indicator for applying attributes to the current cell onlystatic int
THIS_COLUMN
range indicator for applying attributes to cells of the current column onlystatic int
THIS_ROW
range indicator for applying attributes to cells of the current row only-
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
-
-
Constructor Summary
Constructors Constructor Description SHTMLEditorPane()
construct a newSHTMLEditorPane
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appendTableColumn()
append a table column after the last column (if any)void
appendTableRow()
Appends a row to a table if the caret is inside a table.void
applyAttributes(javax.swing.text.AttributeSet attributeSet, boolean applyToCompleteParagraph)
void
applyAttributes(javax.swing.text.AttributeSet attributeSet, boolean applyToCompleteParagraph, boolean replace)
Sets the attributes for a given part of this editor.void
applyCellAttributes(javax.swing.text.AttributeSet a, int range)
apply a set of attributes to a given range of cells of the table the caret is currently in (if any)void
applyCharacterTag(java.lang.String tag)
(Unfinished.)void
applyListAttributes(javax.swing.text.AttributeSet a)
apply a set of attributes to the list the caret is currently in (if any)void
applyParagraphTag(java.lang.String tag, java.util.Vector overwritableTags)
Switches the elements in the current selection to the given tag.void
applyTableAttributes(javax.swing.text.AttributeSet a)
apply a set of attributes to the table the caret is currently in (if any)void
deleteTableCol()
delete the column of the table the caret is currently in (if any)void
deleteTableRow()
delete the row of the table the caret is currently in (if any)void
dragDropEnd(java.awt.dnd.DragSourceDropEvent event)
this message goes to DragSourceListener, informing it that the dragging has endedvoid
dragEnter(java.awt.dnd.DragSourceDragEvent event)
this message goes to DragSourceListener, informing it that the dragging has entered the DropSitevoid
dragEnter(java.awt.dnd.DropTargetDragEvent event)
is invoked when you are dragging over the DropSitevoid
dragExit(java.awt.dnd.DragSourceEvent event)
this message goes to DragSourceListener, informing it that the dragging has exited the DropSitevoid
dragExit(java.awt.dnd.DropTargetEvent event)
is invoked when you are exit the DropSite without droppingvoid
dragGestureRecognized(java.awt.dnd.DragGestureEvent event)
a drag gesture has been initiatedvoid
dragOver(java.awt.dnd.DragSourceDragEvent event)
this message goes to DragSourceListener, informing it that the dragging is currently ocurring over the DropSitevoid
dragOver(java.awt.dnd.DropTargetDragEvent event)
is invoked when a drag operation is going onvoid
drop(java.awt.dnd.DropTargetDropEvent event)
a drop has occurred.void
dropActionChanged(java.awt.dnd.DragSourceDragEvent event)
is invoked when the user changes the dropActionvoid
dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
is invoked if the user modifies the current drop gesturejava.lang.String
elementToHTML(javax.swing.text.Element element)
Returns the string HTML representation of the element.javax.swing.text.Element
getCurrentLinkElement()
javax.swing.text.Element
getCurrentParagraphElement()
Gets the paragraph element in which the caret is located.javax.swing.text.Element
getCurrentTableCell()
Gets the table cell at the current caret position.SHTMLEditorPane.PasteMode
getPasteMode()
javax.swing.JPopupMenu
getPopup()
java.lang.String
getSelectedText()
SHTMLDocument
getSHTMLDocument()
javax.swing.text.Element
getTableCell(int position)
Gets the table cell element at the given position, or null if none.javax.swing.TransferHandler
getTransferHandler()
void
goNextCell(javax.swing.text.Element cell)
void
goPrevCell(javax.swing.text.Element cell)
void
initDnd()
Initialize the drag and drop implementation for this component.void
insertAnchor(java.lang.String anchorName)
apply a new anchor to the currently selected textvoid
insertBreak()
insert a line break (i.e.void
insertNewTable(int colCount)
Insert a new table.void
insertTableColumn()
insert a table column before the current column (if any)void
insertTableRow(java.lang.String forcedCellName)
Inserts a row to a table, assuming the caret is currently inside a table.protected boolean
processKeyBinding(javax.swing.KeyStroke ks, java.awt.event.KeyEvent e, int condition, boolean pressed)
void
removeAnchor(java.lang.String anchorName)
remove an anchor with a given namevoid
removeCharacterAttributes()
void
removeParagraphAttributes()
void
replaceSelection(com.lightdev.app.shtm.HTMLText replacementHTMLText)
Replaces the currently selected content with new content represented by the givenHTMLText
.void
replaceSelection(java.lang.String content)
void
setLink(java.lang.String linkText, java.lang.String href, java.lang.String className)
set a text link at the current selection replacing the selection with a given text.void
setLink(java.lang.String linkText, java.lang.String href, java.lang.String className, java.lang.String linkImage, java.awt.Dimension size)
Sets a hyperlink at the current selection, replacing the selection with the given text or image.void
setPasteMode(SHTMLEditorPane.PasteMode pasteMode)
void
setPasteModeFromPrefs()
void
setPopup(javax.swing.JPopupMenu popup)
void
setText(java.lang.String sText)
Convenience method for setting the document textvoid
setUI(javax.swing.plaf.TextUI newUI)
void
toggleList(java.lang.String listTag, javax.swing.text.AttributeSet attributeSet, boolean forceOff)
toggle list formatting on or off for the currently selected text portion.void
toggleTableHeaderCell()
For each cell within the selection, turns a table data cell into a table header cell or vice versa.boolean
tryDefaultKeyStrokeActionWithinCell(int keyCode, int modifiers, java.awt.event.ActionEvent event)
Performs the default key stroke action, assuming that the caret is within a table cell and that the action is a cursor move; if the cursor leaves the current table cell, undoes the action.-
Methods inherited from class javax.swing.JEditorPane
addHyperlinkListener, createDefaultEditorKit, createEditorKitForContentType, fireHyperlinkUpdate, getAccessibleContext, getContentType, getEditorKit, getEditorKitClassNameForContentType, getEditorKitForContentType, getHyperlinkListeners, getPage, getPreferredSize, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getStream, getText, getUIClassID, paramString, read, registerEditorKitForContentType, registerEditorKitForContentType, removeHyperlinkListener, scrollToReference, setContentType, setEditorKit, setEditorKitForContentType, setPage, setPage
-
Methods inherited from class javax.swing.text.JTextComponent
addCaretListener, addInputMethodListener, addKeymap, copy, cut, fireCaretUpdate, getActions, getCaret, getCaretColor, getCaretListeners, getCaretPosition, getDisabledTextColor, getDocument, getDragEnabled, getDropLocation, getDropMode, getFocusAccelerator, getHighlighter, getInputMethodRequests, getKeymap, getKeymap, getMargin, getNavigationFilter, getPreferredScrollableViewportSize, getPrintable, getScrollableBlockIncrement, getScrollableUnitIncrement, getSelectedTextColor, getSelectionColor, getSelectionEnd, getSelectionStart, getText, getToolTipText, getUI, isEditable, loadKeymap, modelToView, modelToView2D, moveCaretPosition, paste, print, print, print, processInputMethodEvent, read, removeCaretListener, removeKeymap, removeNotify, restoreComposedText, saveComposedText, select, selectAll, setCaret, setCaretColor, setCaretPosition, setComponentOrientation, setDisabledTextColor, setDocument, setDragEnabled, setDropMode, setEditable, setFocusAccelerator, setHighlighter, setKeymap, setMargin, setNavigationFilter, setSelectedTextColor, setSelectionColor, setSelectionEnd, setSelectionStart, updateUI, viewToModel, viewToModel2D, write
-
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, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, 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, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, 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
-
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, 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, 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, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
THIS_CELL
public static final int THIS_CELL
range indicator for applying attributes to the current cell only- See Also:
- Constant Field Values
-
THIS_COLUMN
public static final int THIS_COLUMN
range indicator for applying attributes to cells of the current column only- See Also:
- Constant Field Values
-
THIS_ROW
public static final int THIS_ROW
range indicator for applying attributes to cells of the current row only- See Also:
- Constant Field Values
-
ALL_CELLS
public static final int ALL_CELLS
range indicator for applying attributes to all cells- See Also:
- Constant Field Values
-
DEFAULT_TABLE_WIDTH
public static final java.lang.String DEFAULT_TABLE_WIDTH
default table width- See Also:
- Constant Field Values
-
DEFAULT_VERTICAL_ALIGN
public static final java.lang.String DEFAULT_VERTICAL_ALIGN
default vertical alignment- See Also:
- Constant Field Values
-
newListItemAction
public static final java.lang.String newListItemAction
- See Also:
- Constant Field Values
-
insertLineBreakAction
public static final java.lang.String insertLineBreakAction
- See Also:
- Constant Field Values
-
deletePrevCharAction
public static final java.lang.String deletePrevCharAction
- See Also:
- Constant Field Values
-
deleteNextCharAction
public static final java.lang.String deleteNextCharAction
- See Also:
- Constant Field Values
-
moveUpAction
public static final java.lang.String moveUpAction
- See Also:
- Constant Field Values
-
homeAction
public static final java.lang.String homeAction
- See Also:
- Constant Field Values
-
shiftHomeAction
public static final java.lang.String shiftHomeAction
- See Also:
- Constant Field Values
-
shiftEndAction
public static final java.lang.String shiftEndAction
- See Also:
- Constant Field Values
-
endAction
public static final java.lang.String endAction
- See Also:
- Constant Field Values
-
moveDownAction
public static final java.lang.String moveDownAction
- See Also:
- Constant Field Values
-
-
Method Detail
-
setUI
public void setUI(javax.swing.plaf.TextUI newUI)
- Overrides:
setUI
in classjavax.swing.text.JTextComponent
-
getPasteMode
public SHTMLEditorPane.PasteMode getPasteMode()
-
setPasteMode
public void setPasteMode(SHTMLEditorPane.PasteMode pasteMode)
-
setPasteModeFromPrefs
public void setPasteModeFromPrefs()
-
processKeyBinding
protected boolean processKeyBinding(javax.swing.KeyStroke ks, java.awt.event.KeyEvent e, int condition, boolean pressed)
- Overrides:
processKeyBinding
in classjavax.swing.JComponent
-
setText
public void setText(java.lang.String sText)
Convenience method for setting the document text- Overrides:
setText
in classjavax.swing.JEditorPane
- Parameters:
sText
- the html-text of the document
-
applyListAttributes
public void applyListAttributes(javax.swing.text.AttributeSet a)
apply a set of attributes to the list the caret is currently in (if any)- Parameters:
a
- the set of attributes to apply
-
toggleList
public void toggleList(java.lang.String listTag, javax.swing.text.AttributeSet attributeSet, boolean forceOff)
toggle list formatting on or off for the currently selected text portion.Switches list display on for the given type, if the selection contains parts not formatted as list or parts formatted as list of another type.
Switches list formatting off, if the selection contains only parts formatted as list of the given type.
- Parameters:
listTag
- the list tag type to toggle on or off (UL or OL)attributeSet
- the attributes to use for the list to toggle toforceOff
- indicator for toggle operation. If true, possibly exisiting list formatting inside the selected parts always is switched off. If false, the method decides, if list formatting for the parts inside the selection needs to be switched on or off.
-
insertNewTable
public void insertNewTable(int colCount)
Insert a new table.- Parameters:
colCount
- the number of columns the new table shall have
-
insertAnchor
public void insertAnchor(java.lang.String anchorName)
apply a new anchor to the currently selected textIf nothing is selected, this method does nothing
- Parameters:
anchorName
- the name of the new anchor
-
insertBreak
public void insertBreak()
insert a line break (i.e. a break for which paragraph spacing is not applied)
-
setLink
public void setLink(java.lang.String linkText, java.lang.String href, java.lang.String className)
set a text link at the current selection replacing the selection with a given text.If nothing is selected, but the caret is inside a link, this will replace the existing link. If nothing is selected and the caret is not inside a link, this method does nothing.
- Parameters:
linkText
- the text that shall appear as link at the current selectionhref
- the target this link shall refer toclassName
- the style class to be used
-
setLink
public void setLink(java.lang.String linkText, java.lang.String href, java.lang.String className, java.lang.String linkImage, java.awt.Dimension size)
Sets a hyperlink at the current selection, replacing the selection with the given text or image.- Parameters:
linkText
- the text to show as link (or null, if an image shall appear instead)href
- the link referenceclassName
- the style name to be used for the linklinkImage
- the file name of the image be used for the link (or null, if a text link is to be set instead)size
- the size of the image or null
-
removeAnchor
public void removeAnchor(java.lang.String anchorName)
remove an anchor with a given name- Parameters:
anchorName
- the name of the anchor to remove
-
insertTableColumn
public void insertTableColumn()
insert a table column before the current column (if any)
-
appendTableColumn
public void appendTableColumn()
append a table column after the last column (if any)
-
appendTableRow
public void appendTableRow()
Appends a row to a table if the caret is inside a table.
-
insertTableRow
public void insertTableRow(java.lang.String forcedCellName)
Inserts a row to a table, assuming the caret is currently inside a table.
-
deleteTableRow
public void deleteTableRow()
delete the row of the table the caret is currently in (if any)
-
deleteTableCol
public void deleteTableCol()
delete the column of the table the caret is currently in (if any)width of adjacent column is adjusted, if there is more than one column in the table. Width adjustment only works, if width attributes of both the column to remove and its adjacent column have the same unit (pt or %).
If there is only one cell or if the caret is not in a table, this method does nothing
Smart border handling automatically sets the left border of a cell to zero, if the cell on the left of that cell has a right border and both cells have no margin. In that case removing the first column will cause all cells of the new first column to have no left border.
-
toggleTableHeaderCell
public void toggleTableHeaderCell()
For each cell within the selection, turns a table data cell into a table header cell or vice versa.
-
applyTableAttributes
public void applyTableAttributes(javax.swing.text.AttributeSet a)
apply a set of attributes to the table the caret is currently in (if any)- Parameters:
a
- the set of attributes to apply
-
applyCellAttributes
public void applyCellAttributes(javax.swing.text.AttributeSet a, int range)
apply a set of attributes to a given range of cells of the table the caret is currently in (if any)- Parameters:
a
- the set of attributes to applyrange
- the range of cells to apply attributes to
-
getSHTMLDocument
public SHTMLDocument getSHTMLDocument()
-
goNextCell
public void goNextCell(javax.swing.text.Element cell)
-
goPrevCell
public void goPrevCell(javax.swing.text.Element cell)
-
getCurrentTableCell
public javax.swing.text.Element getCurrentTableCell()
Gets the table cell at the current caret position.- Returns:
- the Element having the current table cell or null if the caret is not inside a table cell
-
getCurrentLinkElement
public javax.swing.text.Element getCurrentLinkElement()
-
getTableCell
public javax.swing.text.Element getTableCell(int position)
Gets the table cell element at the given position, or null if none.
-
getCurrentParagraphElement
public javax.swing.text.Element getCurrentParagraphElement()
Gets the paragraph element in which the caret is located.
-
replaceSelection
public void replaceSelection(java.lang.String content)
- Overrides:
replaceSelection
in classjavax.swing.JEditorPane
-
replaceSelection
public void replaceSelection(com.lightdev.app.shtm.HTMLText replacementHTMLText)
Replaces the currently selected content with new content represented by the givenHTMLText
. If there is no selection this amounts to an insert of the given text. If there is no replacement text this amounts to a removal of the current selection. This method overrides replaceSelection inJEditorPane
for usage of our own HTMLText object.- Parameters:
replacementHTMLText
- the content to replace the selection with
-
initDnd
public void initDnd()
Initialize the drag and drop implementation for this component.DropTarget, DragSource and DragGestureRecognizer are instantiated and a MouseListener is established to track the selection in drag operations
this ideally is called in the constructor of a class which would like to implement drag and drop
-
dragGestureRecognized
public void dragGestureRecognized(java.awt.dnd.DragGestureEvent event)
a drag gesture has been initiated- Specified by:
dragGestureRecognized
in interfacejava.awt.dnd.DragGestureListener
-
dragDropEnd
public void dragDropEnd(java.awt.dnd.DragSourceDropEvent event)
this message goes to DragSourceListener, informing it that the dragging has ended- Specified by:
dragDropEnd
in interfacejava.awt.dnd.DragSourceListener
-
dragOver
public void dragOver(java.awt.dnd.DropTargetDragEvent event)
is invoked when a drag operation is going on- Specified by:
dragOver
in interfacejava.awt.dnd.DropTargetListener
-
drop
public void drop(java.awt.dnd.DropTargetDropEvent event)
a drop has occurred. If the dragged element has a suitableDataFlavor
, do the drop.- Specified by:
drop
in interfacejava.awt.dnd.DropTargetListener
- Parameters:
event
- - the event specifiying the drop operation- See Also:
DataFlavor
-
dropActionChanged
public void dropActionChanged(java.awt.dnd.DropTargetDragEvent event)
is invoked if the user modifies the current drop gesture- Specified by:
dropActionChanged
in interfacejava.awt.dnd.DropTargetListener
-
dropActionChanged
public void dropActionChanged(java.awt.dnd.DragSourceDragEvent event)
is invoked when the user changes the dropAction- Specified by:
dropActionChanged
in interfacejava.awt.dnd.DragSourceListener
-
dragEnter
public void dragEnter(java.awt.dnd.DropTargetDragEvent event)
is invoked when you are dragging over the DropSite- Specified by:
dragEnter
in interfacejava.awt.dnd.DropTargetListener
-
dragExit
public void dragExit(java.awt.dnd.DropTargetEvent event)
is invoked when you are exit the DropSite without dropping- Specified by:
dragExit
in interfacejava.awt.dnd.DropTargetListener
-
dragEnter
public void dragEnter(java.awt.dnd.DragSourceDragEvent event)
this message goes to DragSourceListener, informing it that the dragging has entered the DropSite- Specified by:
dragEnter
in interfacejava.awt.dnd.DragSourceListener
-
dragExit
public void dragExit(java.awt.dnd.DragSourceEvent event)
this message goes to DragSourceListener, informing it that the dragging has exited the DropSite- Specified by:
dragExit
in interfacejava.awt.dnd.DragSourceListener
-
dragOver
public void dragOver(java.awt.dnd.DragSourceDragEvent event)
this message goes to DragSourceListener, informing it that the dragging is currently ocurring over the DropSite- Specified by:
dragOver
in interfacejava.awt.dnd.DragSourceListener
-
getTransferHandler
public javax.swing.TransferHandler getTransferHandler()
- Overrides:
getTransferHandler
in classjavax.swing.JComponent
-
removeCharacterAttributes
public void removeCharacterAttributes()
-
removeParagraphAttributes
public void removeParagraphAttributes()
-
applyAttributes
public void applyAttributes(javax.swing.text.AttributeSet attributeSet, boolean applyToCompleteParagraph)
-
applyAttributes
public void applyAttributes(javax.swing.text.AttributeSet attributeSet, boolean applyToCompleteParagraph, boolean replace)
Sets the attributes for a given part of this editor. If a range of text is selected, the attributes are applied to the selection. If nothing is selected, the input attributes of the given editor are set thus applying the given attributes to future inputs.- Parameters:
attributeSet
- the set of attributes to applyapplyToCompleteParagraph
- true, if the attributes shall be applied to the whole paragraph, false, if only the selected range of characters shall have themreplace
- true, if existing attribtes are to be replaced, false if not
-
applyCharacterTag
public void applyCharacterTag(java.lang.String tag)
(Unfinished.)
-
applyParagraphTag
public void applyParagraphTag(java.lang.String tag, java.util.Vector overwritableTags)
Switches the elements in the current selection to the given tag. If allowedTags is non-null, applies the tag only if it is contained in allowedTags. TODO: The new parameter does not work. So the method only works for paragraph tags, like H1, H2 etc. --Dan- Parameters:
tag
- the tag name to switche elements tooverwritableTags
- Tags that may be overwritten by the new tag.
-
getPopup
public javax.swing.JPopupMenu getPopup()
-
setPopup
public void setPopup(javax.swing.JPopupMenu popup)
-
elementToHTML
public java.lang.String elementToHTML(javax.swing.text.Element element)
Returns the string HTML representation of the element.
-
tryDefaultKeyStrokeActionWithinCell
public boolean tryDefaultKeyStrokeActionWithinCell(int keyCode, int modifiers, java.awt.event.ActionEvent event)
Performs the default key stroke action, assuming that the caret is within a table cell and that the action is a cursor move; if the cursor leaves the current table cell, undoes the action. Returns true if the cursor stayed within the table cell.
-
getSelectedText
public java.lang.String getSelectedText()
- Overrides:
getSelectedText
in classjavax.swing.text.JTextComponent
-
-