我想繪製一些形狀(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中像文本編輯器一樣在控件中繪製一條線?