刚接触学习使用RAP,新建一个最简单的view,在createPartControl(Composite parent)方法中设置parent的布局方式为GridLayout,运行程序时可以展示出view的效果,但会抛出org.eclipse.rwt.internal.lifecycle.RWTLifeCycle afterPhaseExecution的bug。
2009-9-1 14:38:48 org.eclipse.rwt.internal.lifecycle.RWTLifeCycle afterPhaseExecution
严重: Could not execute PhaseListener after phase 'PROCESS_ACTION'.
java.lang.ClassCastException: org.eclipse.swt.layout.GridData cannot be cast to org.eclipse.swt.layout.FillData
at org.eclipse.swt.layout.FillLayout.flushCache(FillLayout.java:180)
at org.eclipse.swt.widgets.Composite.changed(Composite.java:493)
at org.eclipse.swt.internal.graphics.TextSizeDeterminationHandler$1.doVisit(TextSizeDeterminationHandler.java:79)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor$AllWidgetTreeVisitor.visit(WidgetTreeVisitor.java:32)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:46)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:51)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:51)
at org.eclipse.swt.internal.widgets.WidgetTreeVisitor.accept(WidgetTreeVisitor.java:51)
at org.eclipse.swt.internal.graphics.TextSizeDeterminationHandler.afterPhase(TextSizeDeterminationHandler.java:126)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.afterPhaseExecution(RWTLifeCycle.java:390)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.continueLifeCycle(RWTLifeCycle.java:191)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.sleep(RWTLifeCycle.java:297)
at org.eclipse.swt.widgets.Display.sleep(Display.java:706)
at org.eclipse.ui.application.WorkbenchAdvisor.eventLoopIdle(WorkbenchAdvisor.java:361)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2347)
at org.eclipse.ui.internal.Workbench.access$5(Workbench.java:2200)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:425)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:333)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:408)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:157)
at com.hwm.test.ui.TestWorkbench.createUI(TestWorkbench.java:15)
at org.eclipse.rwt.internal.lifecycle.EntryPointManager.createUI(EntryPointManager.java:92)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle.createUI(RWTLifeCycle.java:228)
at org.eclipse.rwt.internal.lifecycle.RWTLifeCycle$UIThreadController.run(RWTLifeCycle.java:116)
at java.lang.Thread.run(Thread.java:619)
找了半天,直接不用给控件设置布局方式,既然OK掉,哎......。