攔截編輯的事件,在同樣的位置,同樣的大小,用text來覆蓋。
首先需要在原有的基礎上多加兩個類
edirecteditmanager 直接編輯管理類
ecelleditorlocator 單元格的編輯的位置
public class ecelleditorlocator implements celleditorlocator{
private ifigure figure;
public ecelleditorlocator(ifigure figure)
this.figure=figure;
@override
public void relocate(celleditor celleditor) {
更具figure的位置大小,顯示 widget text。其實就是用text 來覆蓋 figure。
這裡你也可以顯示table,tree都可以。更具你的需要
text text= (text) celleditor.getcontrol();
rectangle rct= figure.getbounds().getcopy();
figure.translatetoabsolute(rct);
text.setbounds(rct.x, rct.y, rct.width, rct.height);
在你需要編輯的part中填寫以下**。
@override
public void performrequest(request req) {
if(req.gettype().equals(requestconstants.req_direct_edit))
performdirectedit();
return;
super.performrequest(req);
private void performdirectedit()
// 關鍵是這裡,。。。,用 ecelleditorlocator 建立edirecteditmanager 。並顯示 edirecteditmanager .show();
if(directmanager==null)
directmanager=new edirecteditmanager(this, textcelleditor.class, new ecelleditorlocator(getfigure()));
directmanager.show();
GEF編輯器的深入應用
最近,由於專案工作較忙,寫作很少,但是通過專案的應用,對gef進行了深度研究,主要內容如下 一 gef編輯器中網格線線型的調整 背景顏色的改變等等 gef編輯器中,網格線作為輔助實現節點定位 相鄰節點之間自動對齊調整等功能,具有重要意義。但是,gef網格確省網格線留給我們的調整餘地只有單元格的間距,...
GEF編輯器的區域及滾動條
gef編輯器是構架在draw2d的figurecanvas上的,而figurecanvas是swt中canvas的子類.當得到figurecanvas之後,就可以得到gef編輯器的區域和gef編輯器內部畫布的大小 編輯器區域大小 figurecanvas.getbounds 這是運用了figurec...
約瑟夫問題直接求取結果的思路
本人比較笨,約瑟夫問題的求解方法想了好久才想通,在這裡留一篇文章,記錄一下。約瑟夫問題 n個人,數m,列出順序。1,用演算法模擬數數過程,通過乙個乙個的排除,最後得到最終的結果 首先解決思路問題,每次數數m個,一共數n次,所以一共經過n m次,然後定義乙個int t,用來算作每個人報數的時候報出的數...