今天在修改Editor的实现方式时出现了不能显示的问题,经多次跟踪调试发现问题如下,现记录在此,已备不时之需:
在实现方法public void createPartControl(Composite parent)时需要以下几个设置,保证Editor的显示。
1、parent.setLayout(new FillLayout()); //保证Editor中的内容全部显示在parent中
2、
Composite shell = new Composite(parent, SWT.EMBEDDED | SWT.MAX | SWT.SCROLL_PAGE);
shell.setLayout(new FillLayout()); //这里也必须设置Layout
3、
Frame mainframe = SWT_AWT.new_Frame(shell);
mainframe.setVisible(true); //如果要嵌入Swing/AWT的UI界面必须设置为可见
4、
JPanel mainPanel = new JPanel();
mainPanel.setBackground(Color.WHITE);
mainframe.add(mainPanel);
mainPanel.repaint();//其中加入的Panel必须repaint
OK,That's All