WYSIWYG HTML editor developed in Java

I need a HTML editor developed in Java and of open source so that I could inhibit some actions. This editor needs to be graphic introducing the result of HTML, as it does FrontPage, so that any user can modify his content.
It will be that someone can help ?

Have a look at [Metaphase Editor|http://www.metaphaseeditor.com] . It's a WYSWIWYG HTML Editor component for Java and is licensed under LGPL.
The binaries and source code is available at [Project Kenai|http://kenai.com/projects/metaphaseeditor] .

Similar Messages

  • WYSIWYG HTML editor extension or replacement

    Hi everybody,
    We have a client that needs additional functionality in the WYSIWYG HTML editor in Oracle9iAS Release 2. Specifically the client needs to add pictures to an article/text in a simple browse and insert kinda way. It would be desirable to be able to choose from the users harddrive and pictures in a repository.
    Is there any way to extend or replace the build-in the WYSIWYG HTML editor ??
    Any contributions are welcome ..
    Best regards
    Christian Ballisager, Denmark

    Hi
    We have developed a WYSIWYG HTML editor to extend the functionality of Oracle Portal 3.0.9. The editor has the functions you ask for but today it only works in IE browser.
    Best regards
    Lennart Ereback, Sweden, [email protected]

  • WYSIWYG HTML Editor code

    I was reading a lot of old messages in this forum and there was some about people who had created a WYSIWYG HTML Editor. They were willing to share the code. I'm insteresting in how a good such editor are build... Is there anyone who wants to share such an editor to me?

    I'm insteresting in how a good such editor are build...
    Is there anyone who wants to share such an editor to me?The HTML-Editor Ekit is under the Gnu Public Licence.
    You can download the source code from their website:
    http://www.hexidec.com/ekit.php
    Did you search such a thing?
    Marcus

  • Creating a WYSIWYG HTML editor

    quick question:
    I'm creating an HTML editor using JTextPane for my GUI and an HTMLEditorKit in the back. I'm just running a simple test with the following html file:
    <html>
      <head>
      </head>
      <body>
        <p>
          let's make a web page
        </p>
        <p>
        </p>
        <p>
          <b>just to see if this works</b>
        </p>
      </body>
    </html>I'm calling
    HTMLEditorKit editorKit = new HTMLEditorKit();
    HTMLDocument doc = (HTMLDocument) editorKit.createDefaultDocument();
    editorKit.read(m_reader, this.getDoc(), 0);where m_reader is a FileReader linked to the above file.
    Then I'm using that as the content for my JTextPane by saying
    textPane = new JTextPane(doc);Then when I do a System.out.print(textPane.getText()), I get:
    <html>
      <head>
      </head>
      <body>
        <p>
        </p>
      </body>
    </html>any ideas?

    Originally posted by: aullah.thinkanalytics.com
    Jai Kejriwal wrote:
    > I am trying to create a WYSIWYG HTML editor. For text boxes, I thought it
    > would
    > be best to use the swt text widget that could be dragged and dropped.
    > However,
    > the text widget needs to have a Composite that it can be added on to. Does
    > this
    > mean that I will have to create my own visual representation of a text
    > widget by
    > extending the Figure class?
    > Also, if you all have any experience/ideas of how I should proceed with
    > creating a WYSIWYG
    > HTML editor, I welcome your input. Particularly, what layout should I use
    > for the base page,
    > and how should I handle code generation. I am a newbie so the help means a
    > lot.
    I'd create my own Draw2D figure to render text boxes and other html
    elements. SWT widgets can't (as far as I know) be embedded in the GEF
    GrapicalViewer's main (SWT) control. You're building blocks are Draw2D
    figures. A nice emulated lightweight solution (c.f swing).
    The other great advantage, is that a figure based TextField gives you the
    the ability to style the appearance of the textbox, ie border, colour, etc.
    You could create a base figure styling interface.
    The TextField or TextBox, could be based on a draw2d.text FlowFigure.
    You're also going to need to have some form of FlowLayout for the page,
    to emulate how elements flow on a HTML page in a browser.
    I guess the Logic Diagram labels are a good place to start looking.

  • Licensing and HTML Editor for Large No of Content Providers

    Hi All
    Currently evaluating RH (paln to use XHTML editor for source and targets will be WebHelp, hopefully with RH Server and export to Word for manual). We have a suite of 17 apps and will use a master project and child projects for each app. Got that all setup and my master pages, etc. Export to word looks pretty good.
    I have about 20 content providers (no dedicated documentation resources), so I need a way for them to contribute styled content. I really don't want them using Word as it's too easy for them to stray from the supplied styles (we have that problem now for our Word docs). I'm keeping the style pretty simple (Para Styles: ChapterHead, H1-4 and Normal. Char Styles: MenuOption and Note, One OL and one UL. I'm sure I'll add a few more.) So I need to find a way for content authors to contribute and edit. (from what I've read, the PDF review will work well for review cycles. Seems my options are:
    RH: I'm assuming that if I want them to use RH editor they all need a copy of RH @ $1,000 a seat, so that's out of the question.
    Adobe Contribute may be an option: any using it with RH? IF so, how well does it integrate?
    It seems my best option (to get the project approved and off the ground--read "low startup cost") is a simple free WYSIWYG HTML editor. I can supply everyone the CSS and a template, and they can create clean HTML. Anyone got any recommendations?
    Other choices? Looking for suggestions
    Any comments/suggestions on the above plan?
    Regards
    Mark

    There is an article on my site about using Contribute. I tried it and how well it works depends on your level of patience and the people using it. I gave up after a while! RoboHelp has changed to XHTML since I tried so that may also be an issue.
    The free HTML editors may not understand RoboHelp's processing instructions and may well munge them, be very careful. Some are based on the Gecko engine and my experience is that inserts tons of blank lines.
    I think I would explore using Linking first. If that does not work for you, let them edit in Word and you then use Word's "compare files" function to find the changes and make them manually. We have also asked editors to mark any changes with three hash symbols so that we can search for the changes quickly. It may sound a bit archaic but it works very well.
    See www.grainge.org for RoboHelp and Authoring tips
    @petergrainge

  • Html editor for jsp

    hello ppl,
    is there any html editors entirely written in jsp.
    i want to edit the content on weserver throught the editor.
    which should have the source code available.
    can u plz help me guys,
    thanks

    Do u think there exists any WYSIWYG HTML editor
    written in JSP?They may exist, but should perform very poorly in perspective to the existing ones which are written in a clientside language, e.g. JavaScript (FckEditor and so on).
    I don't even know what he actually mean?
    May be he's trying for WYSIWYG editor for HTML/JSP.No, I am certainly sure that he is asking for an WYSIWYG editor written in JSP. At least, he is asking that literally in the topicstart.

  • Confirm on - Scratch-resistant glass, oleophobic coating,Adobe Flash HTML,Radio Stereo FM,Java MIDP emulator,Scratch-resistant glass back panel,Audio/video player and editor,TV Out,Document editor (Word, Excel, PowerPoint, PDF)

    Kindly confirm on the following features of Iphone 4s..and advice me accordingly.
    Confirm on - Scratch-resistant glass, oleophobic coating,Adobe Flash HTML,Radio Stereo FM,Java MIDP emulator,Scratch-resistant glass back panel,Audio/video player and editor,TV Out,Document editor (Word, Excel, PowerPoint, PDF)

    You can easily compare any Nokia devices using the web sites, here is a comparison of the N8 from the Nokia UK site:
    http://www.nokia.co.uk/gb-en/products/compare/?action=productcompareaction&site=64060&products=23301...
    And similar from Nokia Developer:
    http://www.developer.nokia.com/Devices/Device_specifications/Comparison.xhtml?dev=Lumia_800,N8-00
    Some information may be incomplete at present, since some device details were kept secret until the final moment of the launch so the pages have been prepared withoug all of the data.
    Nokia Maps is available for Windows Phone at launch.
    Multi-Touch(TM) is the registered trademark of another company, however Windows Phone does feature the common touch features such as swiping, pinch-zooming and so on.
    If this or any post answers your question, please remember to help others by pressing the 'Accept as solution' button.

  • Is it possible to write an HTML editor using Java?

    I have this final year project (for my degree), where I need to use Java to write an HTML editor.
    It doesn't have to be fancy or anything, just need to be able to generate HTML files from the GUI frontend where text, images and tables will be created.
    I'm new to Java, and I'm having problem with it.
    Please help, I only need to know whether it's possible, and possible a little guideline on how to go about it, please?
    Terry

    http://www.hexidec.com/ekit.php

  • Launch HTML Editor for creating webi reports - Java sdk

    Is there a way to launch HTML editor directly for creating webi reports..I know we can set the preference for HTML report panel in infoview...but thats not the requirement. I have to launch the HTML or Java report panel editor according to the User selection on the fly....its a customized java code for webi reports.
    Any help on this is appreciated!
    Thanks
    Chenthil

    Guys will this link work to launch the HTML editor....
    desktoplaunch/querywizard/jsp/entry.jsp?skin=skin_standard&docname=&docid=&isNew=true&isModified=&doctoken=we00010000b5d263b7d0a6&repotype=&unvname=&unvid=UnivCUID%3DAZu2kpoiudVOk35pUtr6.qQ%3BUnivName%3DKalvin&unvrepoid=&mode=C&decsep=.&unit=in&lang=en&doctype=wid&viewType=H&isModify=yes

  • Please help!!  Where I can find free Java-applet HTML-Editor???

    I need free Java-applet HTML-Editor. Where I can find it????
    Thanks.

    NetBeans or Forte is supposed to do that now. I've not had an occasion to try to do it in either yet though.

  • Java Swing HTML Editor

    Hi,
    I am doing a HTML Editor in java.I want to insert a <div> </div> for every new line entered.If I insert a div tag using
    new HTMLEditorKit().insertHTML(doc,offset,"<div> </div>",1,0,HTML.Tag.DIV);.
    It's inserting two new line characters..
    Help!

    Hi !
    I�m writing an HTML Online Editor! I didn�t tried div yet, but i insert functionality for background, color chooser, links, ......
    If you would like, I could put my Applet on my Server and you can take look at it.
    It�s for open source, so you could see me actual source too. I also would be very interested in seeing yours.
    Let me know, my email is [email protected]
    Thnx
    Ren�

  • WebEnterprise - HTML Editors and Java

    I'd like to know any opinions on HTML editors and their use with
    WebEnterprise. Have any of you done
    evaluations to determine the best editor to use with the Forte product? Also,
    do you have experience using
    a Java applet as the front-end to a Forte service object? In this instance,
    are you able to do so with Forte 30f2 and
    WebSDK?
    Thanks,
    Peggy Adrian
    Eli Lilly and Company

    Peggy,
    FrontPage 97 / 98 have both worked really well for us, however we
    discovered a slight hitch with 98 where the Editor would gobble up
    <?FORTE ..> tags inside the SELECT OPTION tag, but you can work around
    that one, apart from this FP98 is a great HTML editor. I also thought
    HotMetal was a good fit.These observations come out of evaluating about
    5-6 leading HTML editors.
    Some recommended steps in the process:
    1) Create a prototype by laying out all the HTML using an Editor. Figure
    out all the navigation within your web. More recent features seen in
    HTML editors such as JavaScript generation and DHTML / CSS support are
    really difficult to work out on your own, let the advanced Editors do as
    much dirty work for you as poss.
    2) Once the prototype is finalized, for all the pages requiring any
    dynamic content generation, figure out all the Tag Handlers you will
    need. Change the HTML Content by inserting the FORTE tags as required,
    code the corresponding Handlers.
    3) Figure out the relation between page requests and the security
    requirements for your pages, design the Session properties and data
    tracing across requests using the Session object.
    4) Do refer to all the Tech Notes on the Forte web site for known
    issues.
    As for the Java applets frontend, we have used Java - IIOP - Forte since
    early beta through every Forte release (3.0.X) and it works fine with
    WebEnterprise and release 30f2.
    - Sameer
    From: Peggy Lynn Adrian <[email protected]>
    Date: Wed, 07 Jan 1998 15:19:58 -0500
    Subject: WebEnterprise - HTML Editors and Java
    I'd like to know any opinions on HTML editors and their use with
    WebEnterprise. Have any of you done
    evaluations to determine the best editor to use with the Forte
    product? Also,
    do you have experience using
    a Java applet as the front-end to a Forte service object? In this
    instance,
    are you able to do so with Forte 30f2 and
    WebSDK?
    Thanks,
    Peggy Adrian
    Eli Lilly and Company

  • Creating a PHP/HTML Editor

    I'm doing a school project on a PHP/HTML Editor.
    I'm looking for some help on finding a good tutorial on changing properties to a JEditorPane. I want to set up the indent size, colors for tags, comments, statements, etc...
    anyone help??

    Here, I stole this code from the advanced forum on Saturday and tried to develop it, though gave up when I couldn't get setTabs or load file to work and tooltips was too damn slow.
    I had an idea that I could use it to run javac and to execute Frames and Applets with it ... right now I'm reconfiguring the design and thinking about dropping the highlighter altogether, but thats my story. Still it may be useful /may give you ideas /may be just the base or platform you're looking for.import java.awt.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.text.*;
    import java.io.*;
    class Highlighter extends DefaultStyledDocument{
         private DefaultStyledDocument doc;
         private Element rootElement;
         private boolean multiLineComment;
         private MutableAttributeSet normal;
         private MutableAttributeSet keyword;
         private MutableAttributeSet comment;
         private MutableAttributeSet quote;
         private MutableAttributeSet tabSpace;
         private Hashtable keywords;
    public Highlighter(){
           doc = this;
         rootElement = doc.getDefaultRootElement();
         putProperty(DefaultEditorKit.EndOfLineStringProperty, "\n" );
         normal = new SimpleAttributeSet();
         StyleConstants.setForeground(normal, Color.black);
         comment = new SimpleAttributeSet();
         StyleConstants.setForeground(comment, Color.green);
         StyleConstants.setItalic(comment, true);
         keyword = new SimpleAttributeSet();
         StyleConstants.setForeground(keyword, Color.blue);
         quote = new SimpleAttributeSet();
         StyleConstants.setForeground(quote, Color.red);
         Object dummyObject = new Object();
         keywords = new Hashtable();
         keywords.put( "abstract", dummyObject );
         keywords.put( "boolean", dummyObject );
         keywords.put( "break", dummyObject );
         keywords.put( "byte", dummyObject );
         keywords.put( "byvalue", dummyObject );
         keywords.put( "case", dummyObject );
         keywords.put( "cast", dummyObject );
         keywords.put( "catch", dummyObject );
         keywords.put( "char", dummyObject );
         keywords.put( "class", dummyObject );
         keywords.put( "continue", dummyObject );
         keywords.put( "default", dummyObject );
         keywords.put( "do", dummyObject );
         keywords.put( "double", dummyObject );
         keywords.put( "else", dummyObject );
         keywords.put( "extends", dummyObject );
         keywords.put( "false", dummyObject );
         keywords.put( "final", dummyObject );
         keywords.put( "finally", dummyObject );
         keywords.put( "float", dummyObject );
         keywords.put( "for", dummyObject );
         keywords.put( "if", dummyObject );
         keywords.put( "implements", dummyObject );
         keywords.put( "import", dummyObject );
         keywords.put( "instanceof", dummyObject );
         keywords.put( "int", dummyObject );
         keywords.put( "interface", dummyObject );
         keywords.put( "long", dummyObject );
         keywords.put( "new", dummyObject );
         keywords.put( "null", dummyObject );
         keywords.put( "package", dummyObject );
         keywords.put( "private", dummyObject );
         keywords.put( "protected", dummyObject );
         keywords.put( "public", dummyObject );
         keywords.put( "return", dummyObject );
         keywords.put( "short", dummyObject );
         keywords.put( "static", dummyObject );
         keywords.put( "super", dummyObject );
         keywords.put( "switch", dummyObject );
         keywords.put( "synchronized", dummyObject );
         keywords.put( "this", dummyObject );
         keywords.put( "throw", dummyObject );
         keywords.put( "throws", dummyObject );
         keywords.put( "transient", dummyObject );
         keywords.put( "true", dummyObject );
         keywords.put( "try", dummyObject );
         keywords.put( "void", dummyObject );
         keywords.put( "volatile", dummyObject );
         keywords.put( "while", dummyObject );
    * Override to apply syntax highlighting after the document has been updated
       public void insertString(int offset, String str, AttributeSet a)
                                            throws BadLocationException{
              if (str.equals("{"))
              str = addMatchingBrace(offset);
              super.insertString(offset, str, a);
              processChangedLines(offset, str.length());
    * Override to apply syntax highlighting after the document has been updated
       public void remove(int offset, int length) throws BadLocationException{
              super.remove(offset, length);
              processChangedLines(offset, 0);
    * Determine how many lines have been changed,
    * then apply highlighting to each line
       private void processChangedLines(int offset, int length)
                                    throws BadLocationException {
              String content = doc.getText(0, doc.getLength());
              // The lines affected by the latest document update
              int startLine = rootElement.getElementIndex( offset );
              int endLine = rootElement.getElementIndex( offset + length );
              // Make sure all comment lines prior to the start line are commented
              // and determine if the start line is still in a multi line comment
              setMultiLineComment( commentLinesBefore( content, startLine ) );
              // Do the actual highlighting
                   for (int i = startLine; i <= endLine; i++){
                        applyHighlighting(content, i);
          // Resolve highlighting to the next end multi line delimiter
              if (isMultiLineComment())commentLinesAfter(content, endLine);
              else highlightLinesAfter(content, endLine);
    * Highlight lines when a multi line comment is still 'open'
    * (ie. matching end delimiter has not yet been encountered)
         private boolean commentLinesBefore(String content, int line){
              int offset = rootElement.getElement( line ).getStartOffset();
              // Start of comment not found, nothing to do
              int startDelimiter = lastIndexOf( content, getStartDelimiter(), offset-2);
              if (startDelimiter < 0)return false;
              // Matching start/end of comment found, nothing to do
              int endDelimiter = indexOf( content, getEndDelimiter(), startDelimiter );
              if (endDelimiter < offset & endDelimiter != -1)return false;
              // End of comment not found, highlight the lines
              doc.setCharacterAttributes(startDelimiter, offset - startDelimiter + 1, comment, false);
              return true;
    * Highlight comment lines to matching end delimiter
         private void commentLinesAfter(String content, int line){
              int offset = rootElement.getElement( line ).getEndOffset();
              // End of comment not found, nothing to do
              int endDelimiter = indexOf( content, getEndDelimiter(), offset );
              if (endDelimiter < 0) return;
              // Matching start/end of comment found, comment the lines
              int startDelimiter = lastIndexOf( content, getStartDelimiter(), endDelimiter );
                   if (startDelimiter < 0 || startDelimiter <= offset){
                        doc.setCharacterAttributes(offset, endDelimiter - offset + 1, comment, false);
    * Highlight lines to start or end delimiter
         private void highlightLinesAfter(String content, int line)
                                                                throws BadLocationException{
              int offset = rootElement.getElement( line ).getEndOffset();
              // Start/End delimiter not found, nothing to do
              int startDelimiter = indexOf( content, getStartDelimiter(), offset );
              int endDelimiter = indexOf( content, getEndDelimiter(), offset );
              if (startDelimiter < 0)     startDelimiter = content.length();
              if (endDelimiter < 0)endDelimiter = content.length();
              int delimiter = Math.min(startDelimiter, endDelimiter);
              if (delimiter < offset)return;
              // Start/End delimiter found, reapply highlighting
              int endLine = rootElement.getElementIndex( delimiter );
                   for (int i = line + 1; i < endLine; i++){
                        Element branch = rootElement.getElement( i );
                        Element leaf = doc.getCharacterElement( branch.getStartOffset() );
                        AttributeSet as = leaf.getAttributes();
                        if ( as.isEqual(comment) )applyHighlighting(content, i);
    * Parse the line to determine the appropriate highlighting
         private void applyHighlighting(String content, int line)
                                                             throws BadLocationException{
              int startOffset = rootElement.getElement( line ).getStartOffset();
              int endOffset = rootElement.getElement( line ).getEndOffset() - 1;
              int lineLength = endOffset - startOffset;
              int contentLength = content.length();
                   if (endOffset >= contentLength)endOffset = contentLength - 1;
              // check for multi line comments
              // (always set the comment attribute for the entire line)
                 if (endingMultiLineComment(content, startOffset, endOffset)
                ||isMultiLineComment()||startingMultiLineComment(content, startOffset, endOffset)){
                         doc.setCharacterAttributes(startOffset, endOffset - startOffset + 1, comment, false);
                         return;
              // set normal attributes for the line
              doc.setCharacterAttributes(startOffset, lineLength, normal, true);
              // check for single line comment
              int index = content.indexOf(getSingleLineDelimiter(), startOffset);
                   if ( (index > -1) && (index < endOffset) ){
                        doc.setCharacterAttributes(index, endOffset - index + 1, comment, false);
                        endOffset = index - 1;
              // check for tokens
              checkForTokens(content, startOffset, endOffset);
    * Does this line contain the start delimiter
         private boolean startingMultiLineComment(String content, int startOffset, int endOffset)
                                                                                                              throws BadLocationException{
              int index = indexOf( content, getStartDelimiter(), startOffset );
                   if ( (index < 0) || (index > endOffset) )return false;
                   else{
                        setMultiLineComment( true );
                        return true;
    * Does this line contain the end delimiter
         private boolean endingMultiLineComment(String content, int startOffset, int endOffset)
                                                                                                             throws BadLocationException{
              int index = indexOf( content, getEndDelimiter(), startOffset );
                   if ( (index < 0) || (index > endOffset) )return false;
                   else{
                        setMultiLineComment( false );
                        return true;
    * We have found a start delimiter
    * and are still searching for the end delimiter
         private boolean isMultiLineComment(){
              return multiLineComment;
         private void setMultiLineComment(boolean value){
              multiLineComment = value;
    * Parse the line for tokens to highlight
         private void checkForTokens(String content, int startOffset, int endOffset){
              while (startOffset <= endOffset){
              // skip the delimiters to find the start of a new token
                   while (isDelimiter(content.substring(startOffset, startOffset+1))){
                        if (startOffset < endOffset)startOffset++;
                        else return;
              // Extract and process the entire token
              if (isQuoteDelimiter( content.substring(startOffset, startOffset + 1)))
                   startOffset = getQuoteToken(content, startOffset, endOffset);
              else startOffset = getOtherToken(content, startOffset, endOffset);
         private int getQuoteToken(String content, int startOffset, int endOffset){
              String quoteDelimiter = content.substring(startOffset, startOffset + 1);
              String escapeString = getEscapeString(quoteDelimiter);
              int index;
              int endOfQuote = startOffset;
              // skip over the escape quotes in this quote
              index = content.indexOf(escapeString, endOfQuote + 1);
                   while ( (index > -1) && (index < endOffset) ){
                        endOfQuote = index + 1;
                        index = content.indexOf(escapeString, endOfQuote);
              // now find the matching delimiter
              index = content.indexOf(quoteDelimiter, endOfQuote + 1);
                   if ( (index < 0) || (index > endOffset) )endOfQuote = endOffset;
                   else endOfQuote = index;
              doc.setCharacterAttributes(startOffset, endOfQuote-startOffset+1, quote, false);
         return endOfQuote + 1;
         private int getOtherToken(String content, int startOffset, int endOffset){
              int endOfToken = startOffset + 1;
              while (endOfToken <= endOffset ){
                   if (isDelimiter(content.substring(endOfToken, endOfToken+1)))break;
                   endOfToken++;
              String token = content.substring(startOffset, endOfToken);
                   if ( isKeyword( token ) )
                        doc.setCharacterAttributes(startOffset, endOfToken-startOffset, keyword, false);
              return endOfToken + 1;
    * Assume the needle will the found at the start/end of the line
         private int indexOf(String content, String needle, int offset){
              int index;
                   while ( (index = content.indexOf(needle, offset)) != -1 ){
                        String text = getLine( content, index ).trim();
                             if (text.startsWith(needle) || text.endsWith(needle))break;
                             else offset = index + 1;
              return index;
    * Assume the needle will the found at the start/end of the line
         private int lastIndexOf(String content, String needle, int offset){
              int index;
              while ( (index = content.lastIndexOf(needle, offset)) != -1 ){
                   String text = getLine( content, index ).trim();
                        if (text.startsWith(needle) || text.endsWith(needle))break;
                        else offset = index - 1;
              return index;
         private String getLine(String content, int offset){
              int line = rootElement.getElementIndex( offset );
              Element lineElement = rootElement.getElement( line );
              int start = lineElement.getStartOffset();
              int end = lineElement.getEndOffset();
              return content.substring(start, end - 1);
    * Override for other languages
         protected boolean isDelimiter(String character){
              String operands = ";:{}()[]+-/%<=>!&|^~*";
                   if (Character.isWhitespace( character.charAt(0) ) ||
                                            operands.indexOf(character)!= -1 ) return true;
                   else return false;
    * Override for other languages
         protected boolean isQuoteDelimiter(String character){
              String quoteDelimiters = "\"'";
                   if (quoteDelimiters.indexOf(character) < 0) return false;
                   else return true;
    * Override for other languages
         protected boolean isKeyword(String token){
              Object o = keywords.get( token );
              return o == null ? false : true;
    * Override for other languages
         protected String getStartDelimiter(){
              return "/*";
    * Override for other languages
         protected String getEndDelimiter(){
              return "*/";
    * Override for other languages
         protected String getSingleLineDelimiter(){
              return "//";
    * Override for other languages
         protected String getEscapeString(String quoteDelimiter){
              return "\\" + quoteDelimiter;
         protected String addMatchingBrace(int offset) throws BadLocationException{
              StringBuffer whiteSpace = new StringBuffer();
              int line = rootElement.getElementIndex( offset );
              int i = rootElement.getElement(line).getStartOffset();
                   while (true){
                        String temp = doc.getText(i, 1);
                             if (temp.equals(" ") || temp.equals("\t")){
                                  whiteSpace.append(temp);
                                i++;
                             else break;
              return "{\n" + whiteSpace.toString() + "\t\n" + whiteSpace.toString() + "}";
    public class MyJavac extends JFrame implements ActionListener{
       JPanel top, main;
         JEditorPane edit = new JEditorPane();
       Highlighter syntax = new Highlighter();
       JButton []buts = new JButton[7];
       String theText="";
    public MyJavac(){
       super("Java Based Text Editor");
       getContentPane().setLayout(new BorderLayout() );
       String []str = {"New","Open","Save","Save As","Compile","J/Frame","Applet"};
       String []tooltips = {"<html><center>Open a new <br>java file</center></html>",
                            "<html><center>Open an existing<br>java file</center></html>",
                            "<html><center>Save java<br>file</center></html>",
                            "<html><center>Save java file<br>with new filename</center></html>",
                            "<html><center>Run the javac<br>DOS compiler</center></html>",
                            "<html><center>Run java JFrame<br>or Frame application</center></html>",
                            "<html><center>Run java Applet<br>html application</center></html>"};
       top = new JPanel();
       top.setLayout(new GridLayout(1,7,5,0) );
       JPanel east = new JPanel();
       JPanel west = new JPanel();
          for(int i=0; i<buts.length; i++){
             buts[i] = new JButton(str);
    buts[i].setToolTipText(tooltips[i]);
    buts[i].addActionListener(this);
    top.add(buts[i]);
    main = new JPanel();
    main.setLayout(new GridLayout(1,1) );
         edit.setEditorKit(new StyledEditorKit());
         edit.setDocument(syntax);
         JScrollPane scroll=new JScrollPane(edit);
    main.add(scroll);
    getContentPane().add("North",top);
    getContentPane().add("Center",main);
    public void actionPerformed(ActionEvent e){
    String option = e.getActionCommand();
    if(option.equals("New")){}
    if(option.equals("Open")) {
    JFileChooser chooser = new JFileChooser();
    int returnVal = chooser.showOpenDialog(this);
    if(returnVal == JFileChooser.APPROVE_OPTION);
    try {
    getFromFile();
    catch(Exception f){
    String error1= "Error opening the file ";
    String error2 = "or the file was not found";
    JOptionPane.showMessageDialog(null, error1 +"\n" + error2);
    edit.setText(theText);
    public void getFromFile() throws Exception{
    int reader = 0;
    theText = "";
    FileReader in = new FileReader("junk.txt");
    do {
    reader = in.read();
    theText += (char)reader;
    } while (reader != -1);
    in.close();
    public static void main(String args[]){
    MyJavac jav = new MyJavac();
         Image onFrame = Toolkit.getDefaultToolkit().getImage("flag.gif") ;
    jav.setIconImage(onFrame);
         jav.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
         jav.setSize(600,400);
         jav.setVisible(true);

  • Free HTML Editor

    Hi All:
    Can you recommend a couple of good ***free*** HTML Editor tool? HTML Editor is a good aid for APEX development.
    Thanks!
    Kevin

    You could try NVU (Kompozer on Linux) if you're looking for a free WYSIWYG Editor - It's not bad.
    Cheers
    James

  • Who can help me with replacing the standard HTML editor in WPC?

    Hi all,
    We have chosen to replace the standard HTML Editor in the Web Page Composer by the TinyMCE Editor. I have worked my way through the document written by Boris Magocsi (https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f04b5c5d-3fd2-2a10-8ab0-8fa90e3ac162) and the TinyMCE Editor is diplayed when we add or edit a paragraph.
    However, we can not type any text in the input field anymore and we can not click any of the buttons in the TinyMCE editor. Can anybody help a total Javascript newby with fixing this? Full points will be awarded obviuosly. Thanks in advance!
    Best regards,
    Jan
    Note: We are on NW 7.0 SP 15 and the WPC component is not patched yet. We are trying to complete that today and patch it to patch level 1.

    Snippet from the default trace:
    #1.#005056A13EB000880001D90400005EBC000452C3D2595400#1216900908012#com.sap.engine.services.connector.resource.impl.MCEventHandl
    er#sap.com/irj#com.sap.engine.services.connector.resource.impl.MCEventHandler#JALAROS#631##192.168.17.45_POD_3367950#JALAROS#ef
    efb1f0597211ddc652005056a13eb0#SAPEngine_Application_Thread[impl:3]_25##0#0#Debug##Java###>>> com.sap.engine.services.connector
    .resource.impl.MCEventHandler15c015c --> 5(locTrSupp:false).cleanup({0}), shared: {1},  destroyed {2}, invoked from: {3}#4#tru
    e#false#false#java.lang.Exception
            at java.lang.Throwable.<init>(Throwable.java:58)
            at com.sap.engine.services.connector.Log.getStackTrace(Log.java:61)
            at com.sap.engine.services.connector.resource.impl.MCEventHandler.cleanup(MCEventHandler.java:267)
            at com.sap.engine.services.connector.resource.impl.MCEventHandler.connectionClosed(MCEventHandler.java:524)
            at com.sap.engine.services.dbpool.spi.LocalTXManagedConnectionImpl.removeConnectionHandle(LocalTXManagedConnectionImpl.
    java:322)
            at com.sap.engine.services.dbpool.cci.ConnectionHandle.close(ConnectionHandle.java:278)
            at com.sap.netweaver.config.store.CommonJDBCConfigPersistence.getProperty(CommonJDBCConfigPersistence.java:1120)
            at com.sap.netweaver.config.store.ConfigNode.getProperty(ConfigNode.java:61)
            at com.sap.netweaver.portal.prt.config.cmsource.CMStoreSource.getInternalTimestamp(CMStoreSource.java:1111)
            at com.sap.netweaver.portal.prt.config.cmsource.CMStoreSource.shouldRefresh(CMStoreSource.java:997)
            at com.sap.netweaver.portal.prt.config.cmsource.CMStoreSource.refreshObjects(CMStoreSource.java:1187)
            at com.sap.netweaver.portal.prt.config.cmsource.CMStoreSource.getTimeStamp(CMStoreSource.java:1331)
            at com.sapportals.config.fwk.meta.ConfigurableSourceSynchronizer.synchronizeListeners(ConfigurableSourceSynchronizer.ja
    va:124)
            at com.sapportals.config.fwk.data.ConfigPlugin.synchronizeConfigurablesCache(ConfigPlugin.java:1216)
            at com.sapportals.config.fwk.data.ConfigPlugin.getConfigurables(ConfigPlugin.java:362)
            at com.sap.nw.wpc.km.service.editor.EditorService.getStringConfig(EditorService.java:1119)
            at com.sap.nw.wpc.km.service.editor.EditorService.getImageLayoutSet(EditorService.java:1096)
            at com.sap.nw.wpc.km.service.editor.component.ImageSelectComponent.getCompoundComponent(ImageSelectComponent.java:213)
            at com.sap.nw.wpc.km.service.editor.component.ImageSelectComponent.initializeFromPageContext(ImageSelectComponent.java:
    135)
            at com.sap.nw.wpc.km.service.editor.component.EditorComponentFactory.getComponent(EditorComponentFactory.java:69)
            at com.sap.nw.wpc.km.service.editor.document.AbstractEditorObject.getComponent(AbstractEditorObject.java:162)
            at pagelet.editor._sapportalsjsp_editor.subDoContent(_sapportalsjsp_editor.java:1045)
            at pagelet.editor._sapportalsjsp_editor.doContent(_sapportalsjsp_editor.java:58)
            at pagelet.editor._sapportalsjsp_editor.service(_sapportalsjsp_editor.java:38)
            at com.sapportals.portal.prt.core.broker.PortalComponentItemFacade.service(PortalComponentItemFacade.java:360)
            at com.sapportals.portal.prt.core.broker.PortalComponentItem.service(PortalComponentItem.java:934)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:435)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:527)
            at com.sapportals.portal.prt.component.AbstractComponentResponse.include(AbstractComponentResponse.java:89)
            at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:232)
            at com.sapportals.portal.htmlb.page.JSPDynPage.doOutput(JSPDynPage.java:76)
            at com.sapportals.htmlb.page.PageProcessor.handleRequest(PageProcessor.java:129)
            at com.sapportals.portal.htmlb.page.PageProcessorComponent.doContent(PageProcessorComponent.java:134)
            at com.sap.nw.wpc.editor.EditorTool.doContent(EditorTool.java:54)
            at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
            at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
            at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
            at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
            at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
            at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
            at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
            at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
            at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:524)
            at java.security.AccessController.doPrivileged(AccessController.java:231)
            at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:407)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
            at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
            at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
            at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
            at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
            at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionM
    essageListener.java:33)
            at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
            at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
            at java.security.AccessController.doPrivileged(AccessController.java:207)
            at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)
            at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)
    #1.#005056A13EB000880001D90500005EBC000452C3D25AFC5C#1216900908121#com.sap.engine.services.connector.resource.impl.HandleWrappe
    r#sap.com/irj#com.sap.engine.services.connector.resource.impl.HandleWrapper#JALAROS#631##192.168.17.45_POD_3367950#JALAROS#efef
    b1f0597211ddc652005056a13eb0#SAPEngine_Application_Thread[impl:3]_25##0#0#Debug##Plain###>>> com.sap.engine.services.connector.
    jca.ConnectionManagerImpl3fa63fa6.allocateConnection(mcf: com.sap.engine.services.dbpool.spi.ManagedConnectionFactoryImpla986
    92e1, reqInfo: null)#

Maybe you are looking for

  • Custom Report Giving Exception

    While calling my custom report from webconsole i am getting these exceptions Class/Method: tcReportOperationsBean/getPagedReportData encounter some problems: {1} Caused by [Nested Exception]: java.sql.SQLException: Missing IN or OUT parameter at inde

  • Wifi says No-Wi-Fi ??

    it doesn't say on or off next to it, it says "No Wi-Fi" i've reset it, restored it, and i still get it. it isn't unlocked or anything. advice?

  • Creating a Sub Cost Centre

    Hello Does anybody know how to create a sub cost centre. As in a cost centre which is part of/under another main cost centre. I would be really greatfull if anybody can help. Thank you Regards Bindi

  • Jstl inputText takes apostrophe (single quote) as end of string

    Hi, I run into a problem with jstl when apostrophe(single quote) is in input text: <h:inputText id="input1" styleClass="field" size="20" maxlength="20" value="#{bean.property1}" /> When user inputs string contains apostrophe (single quote), for examp

  • Themes for Curve 8520

    My themes have stopped working! I've only just started changing them round - When I activiate a theme, my wallpaper changes as it should. But, the background of my menu (when i press the blackberry button) is always the wallpaper of my previous theme