快速业务通道

开发Eclipse自定义控件 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
ains(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; ?????????? } ?????? });

开发Eclipse自定义控件(6)

时间:2011-02-09 IBM 梁骞

最后,我们需要提供一些方法方便程序员使用我们的控件。

public void setSelection(int index) {   if (index >= getItemCount() || index < 0)    return;   oldRowSel = rowSel;   rowSel = index;   selectionChanged();   }   public int getSelectionIndex() {   return rowSel;   }   public int getItemHeight() {   return lineHeight;   }   public void setItemHeight(int height) {   lineHeight = height;   }   public int getItemCount() {   return colors.size();   }   public void add(int colorIndex, String colorName) {   colorNames.add(colorName);   colors.add(new Integer(colorIndex));   }

我们开发的控件的使用也是非常简单的。

CustomList customlist = new CustomList( parent, SWT.V_SCROLL | SWT.H_SCROLL );   customlist.add(SWT.COLOR_BLACK,"BLACK");   customlist.add(SWT.COLOR_BLUE,"BLUE");   customlist.setSelection(1);   customlist.setSize(400,400);   customlist.setBackground(Display.getDefault().getSystemColor(SWT.COLOR_LIST_BACKGROUND));

以上我们

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号