WEB开发网
开发学院软件开发Java 开发Eclipse自定义控件 阅读

开发Eclipse自定义控件

 2009-12-14 00:00:00 来源:WEB开发网   
核心提示: Accessibleaccessible=getAccessible();accessible.addAccessibleControlListener(newAccessibleControlAdapter(){publicvoidgetRole(AccessibleControlEvente

Accessible accessible = getAccessible(); 
   accessible.addAccessibleControlListener(new AccessibleControlAdapter() { 
     public void getRole(AccessibleControlEvent e) { 
     int role = 0; 
       int childID = e.childID; 
       if (childID == ACC.CHILDID_SELF) { 
         role = ACC.ROLE_LIST; 
       } else if (childID >= 0 && childID < colors.size()) { 
         role = ACC.ROLE_LISTITEM; 
       } 
       e.detail = role; 
     } 
     
     public void getValue(AccessibleControlEvent e){ 
     int childID = e.childID; 
       if (childID == ACC.CHILDID_SELF) { 
         e.result = getText(); 
       } else if (childID >= 0 && childID < colors.size()) { 
         e.result = (String)colorNames.get(childID); 
       } 
     } 
     
     public void getChildAtPoint(AccessibleControlEvent e) { 
     Point testPoint = toControl(new Point(e.x, e.y)); 
       int childID = ACC.CHILDID_NONE; 
       childID = (testPoint.y - cy)/lineHeight; 
       if (childID == ACC.CHILDID_NONE) { 
         Rectangle location = getBounds(); 
         location.height = location.height - getClientArea().height; 
         if (location.contains(testPoint)) { 
           childID = ACC.CHILDID_SELF; 
         } 
       } 
       e.childID = childID; 
     } 
     
     public void getLocation(AccessibleControlEvent e) { 
     Rectangle location = null; 
       int childID = e.childID; 
       if (childID == ACC.CHILDID_SELF) { 
         location = getBounds(); 
       } 
       if (childID >= 0 && childID < colors.size()) { 
         location = new Rectangle(cx,childID*lineHeight+cy,maxX,lineHeight); 
       } 
       if (location != null) { 
         Point pt = toDisplay(new Point(location.x, location.y)); 
         e.x = pt.x; 
         e.y = pt.y; 
         e.width = location.width; 
         e.height = location.height; 
       } 
     } 
     
     public void getChildCount(AccessibleControlEvent e) { 
       e.detail = colors.size(); 
     } 
     
     public void getState(AccessibleControlEvent e) { 
     int state = 0; 
       int childID = e.childID; 
       if (childID == ACC.CHILDID_SELF) { 
         state = ACC.STATE_NORMAL; 
       } else if (childID >= 0 && childID < colors.size()) { 
         state = ACC.STATE_SELECTABLE; 
         if (isFocusControl()) { 
           state |= ACC.STATE_FOCUSABLE; 
         } 
         if (rowSel == childID) { 
           state |= ACC.STATE_SELECTED; 
           if (isFocusControl()) { 
             state |= ACC.STATE_FOCUSED; 
           } 
         } 
       } 
       e.detail = state; 
     } 
   }); 

上一页  3 4 5 6 7 8 9  下一页

Tags:开发 Eclipse 定义

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接