Package jsyntaxpane

Class DefaultSyntaxKit

All Implemented Interfaces:
Serializable, Cloneable, 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 DefaultEditorKit implements ViewFactory
The 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:
  • Field Details

  • Constructor Details

    • DefaultSyntaxKit

      public DefaultSyntaxKit(Lexer lexer)
      Create a new Kit for the given language
      Parameters:
      lexer -
  • Method Details

    • addComponents

      public void addComponents(JEditorPane editorPane)
      Adds UI components to the pane
      Parameters:
      editorPane -
    • installComponent

      public void installComponent(JEditorPane pane, String classname)
      Creates a SyntaxComponent of the the given classname and installs it on the pane
      Parameters:
      pane -
      classname -
    • deinstallComponent

      public void deinstallComponent(JEditorPane pane, 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(JEditorPane pane, 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(JEditorPane pane, 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(JEditorPane editorPane)
      Adds a popup menu to the editorPane if needed.
      Parameters:
      editorPane -
    • addToolBarActions

      public void addToolBarActions(JEditorPane editorPane, 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 ViewFactory getViewFactory()
      Overrides:
      getViewFactory in class DefaultEditorKit
    • create

      public View create(Element element)
      Specified by:
      create in interface ViewFactory
    • install

      public void install(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:
      install in class EditorKit
      Parameters:
      editorPane -
    • deinstall

      public void deinstall(JEditorPane editorPane)
      Overrides:
      deinstall in class EditorKit
    • addActions

      public void addActions(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 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:
      createDefaultDocument in class DefaultEditorKit
      Returns:
    • initKit

      public static void initKit()
      This is called to initialize the list of Lexers 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(String type, 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 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(Properties config)
      Merges the given properties with the configurations for this Object
      Parameters:
      config -
    • setProperty

      public void setProperty(String key, String value)
      Sets the given property to the given value. If the kit is not initialized, then calls initKit
      Parameters:
      key -
      value -
    • getProperty

      public String getProperty(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(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 Map<String,String> getAbbreviations()
    • addAbbreviation

      public static void addAbbreviation(String abbr, String template)
      Adds an abbrevisation to this kit's abbreviations.
      Parameters:
      abbr -
      template -
    • getAbbreviation

      public static String getAbbreviation(String abbr)
      Get the template for the given abbreviation
      Parameters:
      abbr -
      Returns:
    • getContentType

      public String getContentType()
      Overrides:
      getContentType in class DefaultEditorKit