我正在将Eclipse RCP应用程序从Eclipse 3.0迁移到4.4,我有一个类,我使用jfreechart(jfreechart-1.0)创建了一个java.awt.Frame m_Frame
和一个ChartPanel chartPanel
。 15.jar,jcommom-1.0.18.jar)。
代码最初看起来像这样:
...
m_Frame.add(chartPanel);
m_Frame.validate();
在Eclipse RCP 3.0中,这没有问题。现在,如果我想创建一个图表,应用程序就会卡住。
但如果我改成它:
...
m_Frame.add(chartPanel).validate();
它工作正常。在添加ChartPanel之前,我完全放弃了验证或验证m_Frame
,或者使用doLayout()
它可以正常工作。
有人可以解释这两种方法之间的区别吗?
我正在使用Eclipse RCP 4.4和JDK 1.8.0_60
答案 0 :(得分:0)
解决方案是使用方法doLayout()
而不是validate()
,这样就完成了工作。