Package jsyntaxpane
Class DefaultSyntaxKit
- java.lang.Object
-
- javax.swing.text.EditorKit
-
- javax.swing.text.DefaultEditorKit
-
- jsyntaxpane.DefaultSyntaxKit
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,javax.swing.text.ViewFactory
- Direct Known Subclasses:
BashSyntaxKit,ClojureSyntaxKit,CSyntaxKit,DOSBatchSyntaxKit,JavaRegexKit,JavaScriptSyntaxKit,JavaSyntaxKit,LuaSyntaxKit,PlainSyntaxKit,PropertiesSyntaxKit,PythonSyntaxKit,RubySyntaxKit,ScalaSyntaxKit,SqlSyntaxKit,TALSyntaxKit,XHTMLSyntaxKit,XmlSyntaxKit,XPathSyntaxKit
public class DefaultSyntaxKit extends javax.swing.text.DefaultEditorKit implements javax.swing.text.ViewFactoryThe DefaultSyntaxKit is the main entry to SyntaxPane. To use the package, just set the EditorKit of the EditorPane to a new instance of this class. You need to pass a proper lexer to the class.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.text.DefaultEditorKit
javax.swing.text.DefaultEditorKit.BeepAction, javax.swing.text.DefaultEditorKit.CopyAction, javax.swing.text.DefaultEditorKit.CutAction, javax.swing.text.DefaultEditorKit.DefaultKeyTypedAction, javax.swing.text.DefaultEditorKit.InsertBreakAction, javax.swing.text.DefaultEditorKit.InsertContentAction, javax.swing.text.DefaultEditorKit.InsertTabAction, javax.swing.text.DefaultEditorKit.PasteAction
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringCONFIG_CARETCOLORstatic java.lang.StringCONFIG_COMPONENTSstatic java.lang.StringCONFIG_MENUstatic java.lang.StringCONFIG_SELECTIONstatic java.lang.StringCONFIG_TOOLBARstatic java.lang.StringCONFIG_TOOLBAR_BORDERstatic java.lang.StringCONFIG_TOOLBAR_BORDER_SIZEstatic java.lang.StringCONFIG_TOOLBAR_OPAQUEstatic java.lang.StringCONFIG_TOOLBAR_ROLLOVER-
Fields inherited from class javax.swing.text.DefaultEditorKit
backwardAction, beepAction, beginAction, beginLineAction, beginParagraphAction, beginWordAction, copyAction, cutAction, defaultKeyTypedAction, deleteNextCharAction, deleteNextWordAction, deletePrevCharAction, deletePrevWordAction, downAction, endAction, endLineAction, EndOfLineStringProperty, endParagraphAction, endWordAction, forwardAction, insertBreakAction, insertContentAction, insertTabAction, nextWordAction, pageDownAction, pageUpAction, pasteAction, previousWordAction, readOnlyAction, selectAllAction, selectionBackwardAction, selectionBeginAction, selectionBeginLineAction, selectionBeginParagraphAction, selectionBeginWordAction, selectionDownAction, selectionEndAction, selectionEndLineAction, selectionEndParagraphAction, selectionEndWordAction, selectionForwardAction, selectionNextWordAction, selectionPreviousWordAction, selectionUpAction, selectLineAction, selectParagraphAction, selectWordAction, upAction, writableAction
-
-
Constructor Summary
Constructors Constructor Description DefaultSyntaxKit(Lexer lexer)Create a new Kit for the given language
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static voidaddAbbreviation(java.lang.String abbr, java.lang.String template)Adds an abbrevisation to this kit's abbreviations.voidaddActions(javax.swing.JEditorPane editorPane)Add keyboard actions to this control using the Configuration we have This is revised to properly use InputMap and ActionMap of the component instead of using the KeyMaps directly.voidaddComponents(javax.swing.JEditorPane editorPane)Adds UI components to the panevoidaddPopupMenu(javax.swing.JEditorPane editorPane)Adds a popup menu to the editorPane if needed.voidaddToolBarActions(javax.swing.JEditorPane editorPane, javax.swing.JToolBar toolbar)Add all pop-up menu items to a Toolbar.javax.swing.text.Viewcreate(javax.swing.text.Element element)javax.swing.text.DocumentcreateDefaultDocument()This is called by Swing to create a Document for the JEditorPane document This may be called before you actually get a reference to the control.voiddeinstall(javax.swing.JEditorPane editorPane)voiddeinstallComponent(javax.swing.JEditorPane pane, java.lang.String classname)Find the SyntaxCOmponent with given classname that is installed on the given pane, then deinstalls and removes it fom the editorComponents liststatic java.lang.StringgetAbbreviation(java.lang.String abbr)Get the template for the given abbreviationjava.util.Map<java.lang.String,java.lang.String>getAbbreviations()ConfigurationgetConfig()Get the configuration for this Objectstatic ConfigurationgetConfig(java.lang.Class<? extends DefaultSyntaxKit> kit)Return the Configurations object for a Kit.java.lang.StringgetContentType()static java.lang.String[]getContentTypes()Return all the content types supported by this library.java.lang.StringgetProperty(java.lang.String key)Return the property with the given key.javax.swing.text.ViewFactorygetViewFactory()static voidinitKit()This is called to initialize the list ofLexers we have.voidinstall(javax.swing.JEditorPane editorPane)Install the View on the given EditorPane.voidinstallComponent(javax.swing.JEditorPane pane, java.lang.String classname)Creates a SyntaxComponent of the the given classname and installs it on the panebooleanisComponentInstalled(javax.swing.JEditorPane pane, java.lang.String classname)Checks if the component with given classname is installed on the pane.static voidregisterContentType(java.lang.String type, java.lang.String classname)Register the given content type to use the given class name as its kit When this is called, an entry is added into the private HashMap of the registered editors kits.voidsetConfig(java.util.Properties config)Merges the given properties with the configurations for this ObjectvoidsetProperty(java.lang.String key, java.lang.String value)Sets the given property to the given value.booleantoggleComponent(javax.swing.JEditorPane pane, java.lang.String classname)Toggles the component with given classname.
-
-
-
Field Detail
-
CONFIG_CARETCOLOR
public static final java.lang.String CONFIG_CARETCOLOR
- See Also:
- Constant Field Values
-
CONFIG_SELECTION
public static final java.lang.String CONFIG_SELECTION
- See Also:
- Constant Field Values
-
CONFIG_COMPONENTS
public static final java.lang.String CONFIG_COMPONENTS
- See Also:
- Constant Field Values
-
CONFIG_MENU
public static final java.lang.String CONFIG_MENU
- See Also:
- Constant Field Values
-
CONFIG_TOOLBAR
public static final java.lang.String CONFIG_TOOLBAR
- See Also:
- Constant Field Values
-
CONFIG_TOOLBAR_ROLLOVER
public static final java.lang.String CONFIG_TOOLBAR_ROLLOVER
- See Also:
- Constant Field Values
-
CONFIG_TOOLBAR_BORDER
public static final java.lang.String CONFIG_TOOLBAR_BORDER
- See Also:
- Constant Field Values
-
CONFIG_TOOLBAR_OPAQUE
public static final java.lang.String CONFIG_TOOLBAR_OPAQUE
- See Also:
- Constant Field Values
-
CONFIG_TOOLBAR_BORDER_SIZE
public static final java.lang.String CONFIG_TOOLBAR_BORDER_SIZE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
DefaultSyntaxKit
public DefaultSyntaxKit(Lexer lexer)
Create a new Kit for the given language- Parameters:
lexer-
-
-
Method Detail
-
addComponents
public void addComponents(javax.swing.JEditorPane editorPane)
Adds UI components to the pane- Parameters:
editorPane-
-
installComponent
public void installComponent(javax.swing.JEditorPane pane, java.lang.String classname)Creates a SyntaxComponent of the the given classname and installs it on the pane- Parameters:
pane-classname-
-
deinstallComponent
public void deinstallComponent(javax.swing.JEditorPane pane, java.lang.String classname)Find the SyntaxCOmponent with given classname that is installed on the given pane, then deinstalls and removes it fom the editorComponents list- Parameters:
pane-classname-
-
isComponentInstalled
public boolean isComponentInstalled(javax.swing.JEditorPane pane, java.lang.String classname)Checks if the component with given classname is installed on the pane.- Parameters:
pane-classname-- Returns:
- true if component is installed, false otherwise
-
toggleComponent
public boolean toggleComponent(javax.swing.JEditorPane pane, java.lang.String classname)Toggles the component with given classname. If component is found and installed, then it is deinstalled. Otherwise a new one is installed- Parameters:
pane-classname-- Returns:
- true if component was installed, false if it was removed
-
addPopupMenu
public void addPopupMenu(javax.swing.JEditorPane editorPane)
Adds a popup menu to the editorPane if needed.- Parameters:
editorPane-
-
addToolBarActions
public void addToolBarActions(javax.swing.JEditorPane editorPane, javax.swing.JToolBar toolbar)Add all pop-up menu items to a Toolbar. You need to call the validate method on the toolbar after this is done to layout the buttons. Only Actions which have a SMALL_ICON property will be added to the toolbar There are three Configuration Keys that affect the appearance of the added buttons: CONFIG_TOOLBAR_ROLLOVER, CONFIG_TOOLBAR_BORDER, CONFIG_TOOLBAR_OPAQUE- Parameters:
editorPane-toolbar-
-
getViewFactory
public javax.swing.text.ViewFactory getViewFactory()
- Overrides:
getViewFactoryin classjavax.swing.text.DefaultEditorKit
-
create
public javax.swing.text.View create(javax.swing.text.Element element)
- Specified by:
createin interfacejavax.swing.text.ViewFactory
-
install
public void install(javax.swing.JEditorPane editorPane)
Install the View on the given EditorPane. This is called by Swing and can be used to do anything you need on the JEditorPane control. Here I set some default Actions.- Overrides:
installin classjavax.swing.text.EditorKit- Parameters:
editorPane-
-
deinstall
public void deinstall(javax.swing.JEditorPane editorPane)
- Overrides:
deinstallin classjavax.swing.text.EditorKit
-
addActions
public void addActions(javax.swing.JEditorPane editorPane)
Add keyboard actions to this control using the Configuration we have This is revised to properly use InputMap and ActionMap of the component instead of using the KeyMaps directly.- Parameters:
editorPane-
-
createDefaultDocument
public javax.swing.text.Document createDefaultDocument()
This is called by Swing to create a Document for the JEditorPane document This may be called before you actually get a reference to the control. We use it here to create a proper lexer and pass it to the SyntaxDcument we return.- Overrides:
createDefaultDocumentin classjavax.swing.text.DefaultEditorKit- Returns:
-
initKit
public static void initKit()
This is called to initialize the list ofLexers we have. You can call this at initialization, or it will be called when needed. The method will also add the appropriate EditorKit classes to the corresponding ContentType of the JEditorPane. After this is called, you can simply call the editor.setCOntentType("text/java") on the control and you will be done.
-
registerContentType
public static void registerContentType(java.lang.String type, java.lang.String classname)Register the given content type to use the given class name as its kit When this is called, an entry is added into the private HashMap of the registered editors kits. This is needed so that the SyntaxPane library has it's own registration of all the EditorKits- Parameters:
type-classname-
-
getContentTypes
public static java.lang.String[] getContentTypes()
Return all the content types supported by this library. This will be the content types in the file WEB-INF/services/resources/jsyntaxpane/kitsfortypes- Returns:
- sorted array of all registered content types
-
setConfig
public void setConfig(java.util.Properties config)
Merges the given properties with the configurations for this Object- Parameters:
config-
-
setProperty
public void setProperty(java.lang.String key, java.lang.String value)Sets the given property to the given value. If the kit is not initialized, then calls initKit- Parameters:
key-value-
-
getProperty
public java.lang.String getProperty(java.lang.String key)
Return the property with the given key. If the kit is not initialized, then calls initKit Be careful when changing property as the default property may be used- Parameters:
key-- Returns:
- value for given key
-
getConfig
public Configuration getConfig()
Get the configuration for this Object- Returns:
-
getConfig
public static Configuration getConfig(java.lang.Class<? extends DefaultSyntaxKit> kit)
Return the Configurations object for a Kit. Perfrom lazy creation of a Configuration object if nothing is created.- Parameters:
kit-- Returns:
-
getAbbreviations
public java.util.Map<java.lang.String,java.lang.String> getAbbreviations()
-
addAbbreviation
public static void addAbbreviation(java.lang.String abbr, java.lang.String template)Adds an abbrevisation to this kit's abbreviations.- Parameters:
abbr-template-
-
getAbbreviation
public static java.lang.String getAbbreviation(java.lang.String abbr)
Get the template for the given abbreviation- Parameters:
abbr-- Returns:
-
getContentType
public java.lang.String getContentType()
- Overrides:
getContentTypein classjavax.swing.text.DefaultEditorKit
-
-