2011-11-15 40 views
0

我嘗試使用gwt-ckeditor模塊將CKEditor集成到SmartGWT應用程序中。但是,我得到一個錯誤,當我嘗試顯示應用程序,在開發模式:將CKEditor與SmartGWT集成

[ERROR] [Eureka] - 18:21:15.139:TMR5[E]:WARN:drawing:campaignMessageDesignPage_id:draw() called on widget with current drawn state: handleDrawn, ignoring. 
    Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef) 
    Canvas.readyToDraw() 
    Canvas.draw(_1=>undef) 
    Layout.layoutChildren(_1=>"resized", _2=>0, _3=>19) 
    Canvas.$t1() 
    Canvas.resizeBy(_1=>0, _2=>19, _3=>undef, _4=>undef) 
    Canvas.resizeTo(_1=>1365, _2=>586, _3=>undef, _4=>undef) 
    Layout.resizeMembers(_1=>Array[12], _2=>Array[12], _3=>true) 
    ** recursed on Layout.layoutChildren 


com.smartgwt.client.core.JsObject$SGWT_WARN: 10:35:18.045:TMR7[E]:WARN:drawing:campaignMessageDesignPage_id:draw() called on widget with current drawn state: handleDrawn, ignoring. 
    Class.getStackTrace(_1=>undef, _2=>undef, _3=>undef, _4=>undef)  Canvas.readyToDraw()  Canvas.draw(_1=>undef)  Layout.layoutChildren(_1=>"resized", _2=>0, _3=>19)  Canvas.$t1()  Canvas.resizeBy(_1=>0, _2=>19, _3=>undef, _4=>undef)  Canvas.resizeTo(_1=>1365, _2=>586, _3=>undef, _4=>undef)  Layout.resizeMembers(_1=>Array[12], _2=>Array[12], _3=>true)  ** recursed on Layout.layoutChildren 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105) 
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) 
    at java.lang.Thread.run(Thread.java:722) 

這一塊我的代碼:

public class CampaignMessageDesignPage extends Page { 

    protected VLayout mainLayout; 

    protected CKEditor ckEditor; 

    @Override 
    protected void prepareMainLayoutCanvasCandidate() { 
     mainLayout = createOrGetVLayoutById(campaignMessageDesignPage_id); 
     mainLayout.setWidth100(); 
     mainLayout.setHeight100(); 
     mainLayout.setDefaultLayoutAlign(Alignment.CENTER); 

     Canvas cnvEditor = new Canvas("cnvEditor"); 
     CKConfig conf = new CKConfig(PRESET_TOOLBAR.FULL); 
     ckEditor = new CKEditor(conf); 
     conf.setBaseFloatZIndex(1000000); 
     conf.setUseFormPanel(false); 
     ckEditor.setHTML(""); 
     ckEditor.setSize("100%", "100%"); 
     cnvEditor.addChild(ckEditor); 
     cnvEditor.setSize("50%", "50%"); 

     mainLayout.setMembers(cnvEditor); 
    } 

    @Override 
    protected final Canvas getMainLayoutCanvasCandidate() { 
     return this.mainLayout; 
    } 

    @Override 
    protected void process(final SimpleBO param) { 
     // TODO Auto-generated method stub 
    } 

} 

的draw()方法在其他地方調用。

你有什麼想法嗎?

編輯: 我嘗試了一些不同的東西。我試圖將標準的GWT小部件添加到我的SmartGWT佈局中,並且它運行良好,所以它確實是CKEditor相關的問題。

我還試圖創建頁面顯示的內容,並獲得了另一條錯誤消息,希望更多有用:

18:45:06.698 [ERROR] [Eureka] 18:45:06.697:RDQ0[E]:WARN:Log:TypeError: Cannot call method 'replace' of undefined 
    unnamed() @ 
    unnamed() @ unknown source 
    unnamed() @ Eureka/hosted.html?Eureka:76:35 
    unnamed() @ Eureka/hosted.html?Eureka:54:12 
    onDraw() @ unknown source 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2123:6 
    Canvas.drawChildren() @ Eureka/sc/modules/ISC_Core.js:2177:197 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
    Layout._drawNonMemberChildren() @ Eureka/sc/modules/ISC_Foundation.js:374:21 
    Layout.drawChildren() @ Eureka/sc/modules/ISC_Foundation.js:365:130 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
com.smartgwt.client.core.JsObject$SGWT_WARN: 18:45:06.697:RDQ0[E]:WARN:Log:TypeError: Cannot call method 'replace' of undefined 
    unnamed() @ 
    unnamed() @ unknown source 
    unnamed() @ Eureka/hosted.html?Eureka:76:35 
    unnamed() @ Eureka/hosted.html?Eureka:54:12 
    onDraw() @ unknown source 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2123:6 
    Canvas.drawChildren() @ Eureka/sc/modules/ISC_Core.js:2177:197 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
    Layout._drawNonMemberChildren() @ Eureka/sc/modules/ISC_Foundation.js:374:21 
    Layout.drawChildren() @ Eureka/sc/modules/ISC_Foundation.js:365:130 
    Canvas.draw() @ Eureka/sc/modules/ISC_Core.js:2114:247 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:105) 
    at com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 
    at com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:172) 
    at com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:292) 
    at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:546) 
    at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363) 
    at java.lang.Thread.run(Thread.java:722) 
+0

由於某種原因,一段錯誤跟蹤丟失。我剛剛添加了它。 –

+0

其實,我轉而使用SmartGWT,效果更好的TinyMCE。 –

+0

由於我沒有得到任何答案,我知道這意味着GWTCKEditor庫已損壞,至少對於最後一個SmartGWT版本來說?這是一個恥辱...... –

回答

1
+0

其實,這使用的是舊版本的FCKEditor,它不再被維護... –

+0

你應該看看那個代碼,因爲它是一個嵌入第三方JS小部件的工作示例。請注意,您所報告的警告只是一個警告 - 它表示不必要的調用draw(),但不能解釋您的問題。相反,您應該將您的代碼與SmartGWT-Extensions示例進行比較,並/或使用Firebug之類的工具查看DOM並嘗試找出CKEditor未繪製的原因。 –

+0

我會研究它。爲了記錄,我目前的(非工作代碼)來自http://code.google.com/p/gwt-ckeditor/issues/detail?id=27也許這是一個版本問題?你認爲這個代碼應該仍然適用於當前版本的SmarGWT嗎? –