Great :) Thanks :)
The Exception stopped from ocurring, but I still have the problem of only
showing a TextArea without the look of an WYSWYG edit text area.
I looked inside
https://wicket-stuff.svn.sourceforge.net/svnroot/wicket-stuff/trunk/wicketstuff-core/tinymce-parent/tinymce-examples/src/main/java/wicket/contrib/examples/tinymce/and
subdirs but did not find any war file that I could look inside for how
the markup html is written.  I did as the example showed, but did not have
success.


If anyone can help me...

This is my implementation

-----------------------------------------------
NewsletterForm.java
-----------------------------------------------

package com.jasp.ecommfwk.pages.newsleter.forms;

import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.TextArea;
import org.apache.wicket.markup.html.panel.FeedbackPanel;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.StringResourceModel;

import wicket.contrib.tinymce.TinyMceBehavior;
import wicket.contrib.tinymce.settings.ContextMenuPlugin;
import wicket.contrib.tinymce.settings.DateTimePlugin;
import wicket.contrib.tinymce.settings.DirectionalityPlugin;
import wicket.contrib.tinymce.settings.EmotionsPlugin;
import wicket.contrib.tinymce.settings.FullScreenPlugin;
import wicket.contrib.tinymce.settings.IESpellPlugin;
import wicket.contrib.tinymce.settings.MediaPlugin;
import wicket.contrib.tinymce.settings.PastePlugin;
import wicket.contrib.tinymce.settings.PreviewPlugin;
import wicket.contrib.tinymce.settings.PrintPlugin;
import wicket.contrib.tinymce.settings.SavePlugin;
import wicket.contrib.tinymce.settings.SearchReplacePlugin;
import wicket.contrib.tinymce.settings.SpellCheckPlugin;
import wicket.contrib.tinymce.settings.TablePlugin;
import wicket.contrib.tinymce.settings.TinyMCESettings;

import com.jasp.ecommfwk.pages.forms.BaseForm;
import com.jasp.persistence.admin.Newsletter;

public class NewsletterForm extends BaseForm {
    private static final String TEXT = "<p><img src=\"logo.jpg\" alt=\" \"
hspace=\"5\" vspace=\"5\" width=\"250\" height=\"48\" align=\"right\" />"
        + "TinyMCE is a platform independent web based Javascript HTML
<strong>WYSIWYG</strong> editor control released as Open Source under LGPL
by Moxiecode Systems AB. "
        + "It has the ability to convert HTML TEXTAREA fields or other HTML
elements to editor instances. TinyMCE is very easy to integrate into other
Content Management Systems.</p>"
        + "<p>We recommend <a href=\"http://www.getfirefox.com\";
target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\";
target=\"_blank\">Google</a> <br /></p>";

    private static final long serialVersionUID = 2335975457449309765L;
    private final StringResourceModel labelNewsletterValue = new
StringResourceModel(
            "news.newsletter", this, null, new Object[] { getLocale() });

    private Label labelNews;

    private TextArea <String>newsLetterContent;
    private AjaxButton cadastrar;
    private FeedbackPanel feedbackPanel;
    private Newsletter newsletter = new Newsletter();
    private TinyMCESettings settings;

    private ContextMenuPlugin contextMenuPlugin;
    public NewsletterForm(String id) {
        super(id);
        inicializaComponentesForm();
        AddComponentToForm();
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void AddComponentToForm() {
        this.add(labelNews);
        this.add(cadastrar);
        this.add(newsLetterContent);
        this.add(feedbackPanel);
    }

    @Override
    protected void inicializaComponentesForm() {
        labelNews = new Label("labelNews", labelNewsletterValue);

        settings = new TinyMCESettings(TinyMCESettings.Theme.advanced);
        contextMenuPlugin = new ContextMenuPlugin();
        settings.register(contextMenuPlugin);

        // first toolbar
        SavePlugin savePlugin = new SavePlugin();
        settings.add(savePlugin.getSaveButton(),
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.newdocument,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.fontselect,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.fontsizeselect,
TinyMCESettings.Toolbar.first, TinyMCESettings.Position.after);

        // second toolbar
        PastePlugin pastePlugin = new PastePlugin();
        SearchReplacePlugin searchReplacePlugin = new SearchReplacePlugin();
        DateTimePlugin dateTimePlugin = new DateTimePlugin();
        dateTimePlugin.setDateFormat("Date: %m-%d-%Y");
        dateTimePlugin.setTimeFormat("Time: %H:%M");
        PreviewPlugin previewPlugin = new PreviewPlugin();
        settings.add(wicket.contrib.tinymce.settings.Button.cut,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.copy,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(pastePlugin.getPasteButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(pastePlugin.getPasteTextButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(pastePlugin.getPasteWordButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(searchReplacePlugin.getSearchButton(),
TinyMCESettings.Toolbar.second,
                TinyMCESettings.Position.before);
        settings.add(searchReplacePlugin.getReplaceButton(),
TinyMCESettings.Toolbar.second,
                TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.before);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(dateTimePlugin.getDateButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(dateTimePlugin.getTimeButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(previewPlugin.getPreviewButton(),
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.forecolor,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.backcolor,
TinyMCESettings.Toolbar.second, TinyMCESettings.Position.after);

        // third toolbar
        TablePlugin tablePlugin = new TablePlugin();
        EmotionsPlugin emotionsPlugin = new EmotionsPlugin();
        IESpellPlugin iespellPlugin = new IESpellPlugin();
        MediaPlugin mediaPlugin = new MediaPlugin();
        PrintPlugin printPlugin = new PrintPlugin();
        FullScreenPlugin fullScreenPlugin = new FullScreenPlugin();
        DirectionalityPlugin directionalityPlugin = new
DirectionalityPlugin();
        settings.add(tablePlugin.getTableControls(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.before);
        settings.add(emotionsPlugin.getEmotionsButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(iespellPlugin.getIespellButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(mediaPlugin.getMediaButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(printPlugin.getPrintButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(directionalityPlugin.getLtrButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(directionalityPlugin.getRtlButton(),
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(wicket.contrib.tinymce.settings.Button.separator,
TinyMCESettings.Toolbar.third, TinyMCESettings.Position.after);
        settings.add(fullScreenPlugin.getFullscreenButton(),
TinyMCESettings.Toolbar.third,
                TinyMCESettings.Position.after);

        // fourth toolbar
        SpellCheckPlugin spellCheckPlugin = new SpellCheckPlugin();
        settings.add(spellCheckPlugin.getSpellCheckButton(),
TinyMCESettings.Toolbar.fourth,TinyMCESettings.Position.after);

        // other settings
        settings.setToolbarAlign(TinyMCESettings.Align.left);
        settings.setToolbarLocation(TinyMCESettings.Location.top);
        settings.setStatusbarLocation(TinyMCESettings.Location.bottom);
        settings.setResizing(false);

        newsLetterContent = new TextArea<String>("ta",new Model(TEXT));
        newsLetterContent.add(new TinyMceBehavior(settings));
        feedbackPanel = criaFeedbackPanel();
        cadastrar = new AjaxButton("cadastrar", this) {
            private static final long serialVersionUID =
6045168066074475539L;

            @Override
            protected void onError(AjaxRequestTarget target, Form<?> form) {
                // repaint the feedback panel so errors are shown
                target.addComponent(feedbackPanel);
            }

            @Override
            protected void onSubmit(AjaxRequestTarget target, Form<?> form)
{
                getHibernateTransaction();
                newsletter.setNewsletter(newsLetterContent.getValue());
                hibernateSession.persist(newsletter);
                hibernateTransaction.commit();
                closeTransaction();
                String mensageSucesso = "Newsletter cadastradada com
sucesso!";
                info(mensageSucesso);
                target.addComponent(feedbackPanel);
            }
        };

    }

    private FeedbackPanel criaFeedbackPanel() {
        FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
        feedbackPanel.setOutputMarkupId(true);
        return feedbackPanel;
    }

}
-----------------------------------------------
And this is my markup
CadastroNewsletterPanel.html
-----------------------------------------------


<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml";>
<wicket:head>
    <title wicket:id="pageTitle">[Titulo]</title>
</wicket:head>
<wicket:panel>
    <div class="cssbox_head">
    <h2><label wicket:id="cabecalho">[cabecalho]</label></h2>
    </div>
    <form wicket:id="newsForm" name="newsForm">
        <label wicket:id="labelNews" class="labelForms">[name
label]</label><br/>
        <textarea wicket:id="ta" id="ta" name="ta" rows="30" style="width:
80%">test texarea</textarea><br />
        <input wicket:id="cadastrar" name="Cadastrar" type="submit"
value="Cadastrar" class="buttons" /><br />
        <div wicket:id="feedback" class="feedback"></div>
    </form>
</wicket:panel>
</html>

-----------------------------------------------
CadastroNewsletterPanel.java
-----------------------------------------------

package com.jasp.ecommfwk.pages.newsleter;

import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.StringResourceModel;

import com.jasp.ecommfwk.pages.newsleter.forms.NewsletterForm;

public class CadastroNewsletterPanel extends Panel {
    private static final long serialVersionUID = 4682446014181156016L;
    private final StringResourceModel labelTitle = new StringResourceModel(
            "panel.title", this, null, new Object[] { getLocale() });
    private final StringResourceModel labelHeader = new StringResourceModel(
            "panel.header", this, null, new Object[] { getLocale() });

    @SuppressWarnings("deprecation")
    protected void addHeaders() {
        add(new Label("pageTitle", labelTitle));
        add(new Label("cabecalho", labelHeader));
    }

    public CadastroNewsletterPanel(String id) {
        super(id);
        addHeaders();
        final NewsletterForm categoriaForm = new NewsletterForm("newsForm");
        add(categoriaForm);
    }
}


On Fri, Mar 6, 2009 at 8:30 AM, rolandpeng <rolandp...@cht.com.tw> wrote:

>
> I use wicket 1.4-rc2 and meet the same problem.
>
> you can download jazzy.jar here to solve the exception.
> http://sourceforge.net/projects/jazzy/
>
> then all the program works.
>
> --
> View this message in context:
> http://www.nabble.com/WYSIWYG-component-tp22214000p22369491.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>


-- 
"Two rules to succeed in life:
1 - donĀ“t tell people everything you know."
--------
We shall go on to the end.
We shall fight in France
We shall fightover the seas and oceans.
We shall fight with growing confidence and growing strength in the air.
We shall defend our island whatever the cost may be
We shall fight on beaches, we shall fight on the landing grounds,
We shall fight in the fields and in the streets,
We shall fight on the hills.
We shall never surrender.
Winston Churchill

Reply via email to