我想绘制一些形状(boxed ans arrow),即“over”在eclipse编辑器中的文本。要开始,我写了下面的代码:绘制到Eclipse编辑器中
IWorkbenchPage activePage = Activator.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage(); final Shell shell2 = activePage.getActiveEditor().getSite().getShell(); shell2.addPaintListener(new PaintListener(){ public void paintControl(PaintEvent e){ Rectangle clientArea = shell2.getClientArea(); e.gc.drawLine(0,0,clientArea.width,clientArea.height); } });
这段代码的问题是双重的:(1)则不绘制线条横跨编辑器,但在整个工作台,即Eclipse窗口,和(2 )该行被绘制在(!)所有其他控件(如工具栏和编辑器)后面。这会导致该行几乎不可见:它只显示其他控件之间的某些像素。
如何在Eclipse中像文本编辑器一样在控件中绘制一条线?