javax.swing.text
abstract public static class: StyledEditorKit.StyledTextAction [javadoc |
source]
java.lang.Object
javax.swing.AbstractAction
javax.swing.text.TextAction
javax.swing.text.StyledEditorKit$StyledTextAction
All Implemented Interfaces:
Action, Cloneable, Serializable
Direct Known Subclasses:
AlignmentAction, FontFamilyAction, FontSizeAction, BoldAction, ItalicAction, UnderlineAction, ForegroundAction, StyledInsertBreakAction
An action that assumes it's being fired on a JEditorPane
with a StyledEditorKit (or subclass) installed. This has
some convenience methods for causing character or paragraph
level attribute changes. The convenience methods will
throw an IllegalArgumentException if the assumption of
a StyledDocument, a JEditorPane, or a StyledEditorKit
fail to be true.
The component that gets acted upon by the action
will be the source of the ActionEvent if the source
can be narrowed to a JEditorPane type. If the source
can't be narrowed, the most recently focused text
component is changed. If neither of these are the
case, the action cannot be performed.
Warning:
Serialized objects of this class will not be compatible with
future Swing releases. The current serialization support is
appropriate for short term storage or RMI between applications running
the same version of Swing. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans package.
Please see java.beans.XMLEncoder .
| Constructor: |
public StyledTextAction(String nm) {
super(nm);
}
Creates a new StyledTextAction from a string action name. Parameters:
nm - the name of the action
|
| Methods from javax.swing.AbstractAction: |
|---|
|
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, hasSelectedKey, isEnabled, isSelected, putValue, removePropertyChangeListener, setEnabled, setEnabledFromAction, setToolTipTextFromAction, shouldReconfigure |
| Methods from java.lang.Object: |
|---|
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method from javax.swing.text.StyledEditorKit$StyledTextAction Detail: |
protected final JEditorPane getEditor(ActionEvent e) {
JTextComponent tcomp = getTextComponent(e);
if (tcomp instanceof JEditorPane) {
return (JEditorPane) tcomp;
}
return null;
}
Gets the target editor for an action. |
protected final StyledDocument getStyledDocument(JEditorPane e) {
Document d = e.getDocument();
if (d instanceof StyledDocument) {
return (StyledDocument) d;
}
throw new IllegalArgumentException("document must be StyledDocument");
}
Gets the document associated with an editor pane. |
protected final StyledEditorKit getStyledEditorKit(JEditorPane e) {
EditorKit k = e.getEditorKit();
if (k instanceof StyledEditorKit) {
return (StyledEditorKit) k;
}
throw new IllegalArgumentException("EditorKit must be StyledEditorKit");
}
Gets the editor kit associated with an editor pane. |
protected final void setCharacterAttributes(JEditorPane editor,
AttributeSet attr,
boolean replace) {
int p0 = editor.getSelectionStart();
int p1 = editor.getSelectionEnd();
if (p0 != p1) {
StyledDocument doc = getStyledDocument(editor);
doc.setCharacterAttributes(p0, p1 - p0, attr, replace);
}
StyledEditorKit k = getStyledEditorKit(editor);
MutableAttributeSet inputAttributes = k.getInputAttributes();
if (replace) {
inputAttributes.removeAttributes(inputAttributes);
}
inputAttributes.addAttributes(attr);
}
Applies the given attributes to character
content. If there is a selection, the attributes
are applied to the selection range. If there
is no selection, the attributes are applied to
the input attribute set which defines the attributes
for any new text that gets inserted. |
protected final void setParagraphAttributes(JEditorPane editor,
AttributeSet attr,
boolean replace) {
int p0 = editor.getSelectionStart();
int p1 = editor.getSelectionEnd();
StyledDocument doc = getStyledDocument(editor);
doc.setParagraphAttributes(p0, p1 - p0, attr, replace);
}
Applies the given attributes to paragraphs. If
there is a selection, the attributes are applied
to the paragraphs that intersect the selection.
if there is no selection, the attributes are applied
to the paragraph at the current caret position. |