转自: http://blog.csdn.net/lyq19870515/article/details/9450275

  1. 获取焦点事件:
  2. text.addListener(SWT.FocusIn, new Listener() {
  3. public void handleEvent(Event e) {
  4. // 处理得到焦点的事件
  5. }
  6. });
  7.  
  8. 失去焦点事件:
  9. text.addListener(SWT.FocusOut, new Listener() {
  10. public void handleEvent(Event e) {
  11. // 处理失去焦点的事件
  12. }
  13. });
  14.  
  15. 鼠标移入移出事件:
  16. treeCom.getTree().addMouseTrackListener(new MouseTrackListener() {
  17. @Override
  18. public void mouseHover(MouseEvent e) { }
  19.  
  20. @Override
  21. public void mouseExit(MouseEvent e) {
  22. //移入事件
  23. }
  24. @Override
  25. public void mouseEnter(MouseEvent e) {
  26. //移出事件
  27. }
  28. });
  29.  
  30. 按钮单击事件:
  31. button.addSelectionListener(new SelectionAdapter() {
  32. @Override
  33. public void widgetSelected(SelectionEvent e) {
  34. //事件处理
  35. }
  36. });
  37.  
  38. 鼠标左键双击事件:
  39. tree.addListener(SWT.MouseDoubleClick, new Listener() {
  40. @Override
  41. public void handleEvent(Event event) {
  42. if(event.button != 1) { //按键不是左键跳出. 1左键,2中键,3右键
  43. return;
  44. }
  45. //事件处理
  46. }
  47. });
  48.  
  49. Table设置行高事件:
  50. table_1.addListener(SWT.MeasureItem, new Listener() {
  51.  
  52. @Override
  53. public void handleEvent(Event event) {
  54. //处理事件
  55. event.height = 30;
  56. //把当前事件移除.不然你点一下表就会执行很多次事件.
  57. table.removeListener(SWT.MeasureItem, this);
  58. }
  59. });
  60.  
  61. 按钮单击事件:
  62. button.addSelectionListener(new SelectionAdapter() {
  63. @Override
  64. public void widgetSelected(SelectionEvent e) {
  65. //事件
  66. });
  67.  
  68. 双击树.获得当前点击节点的名字:
  69. tree.addListener(SWT.MouseDoubleClick, new Listener() {
  70. @Override
  71. public void handleEvent(Event event) {
  72. if(event.button != 1) { //不是点击鼠标右键.
  73. return;
  74. }
  75. Point point = new Point(event.x, event.y); //获取当前点击的坐标点.
  76. TreeItem item = tree.getItem(point); //通过坐标点获取节点.
  77. //获取所有选中的树节点.
  78. //TreeItem [] itemArray = Global.getTree_UserOrgan().getTree().getSelection();
  79. System.out.println(tree.getText());
  80. }
  81. });
  82. 获取Eclipse界面的大小(size):
  83. Point size = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().getSize();
  84. 获取鼠标当前位置:
  85. Point Point = Display.getCurrent().getCursorLocation();
  86. 获取屏幕分辨率:
  87. Monitor[] monitors = shell.getDisplay().getMonitors();
  88. for (int i = 0; i < monitors.length; i++) {
  89. Monitor m = monitors[i];
  90. System.out.println(m.getBounds().toString());
  91. }
  92.  
  93. //程序输出: Rectangle {0, 0, 1366, 768}
  94. 树的复选框选中事件:
  95. tree.addListener(SWT.Selection, new Listener() {
  96. @Override
  97. public void handleEvent(Event event) {
  98. if (event.detail == SWT.CHECK) {
  99. TreeItem item = (TreeItem) event.item;
  100. if(item == null) {
  101. return;
  102. }
  103. boolean checked = item.getChecked();
  104. if(checked) { //如果是新选择一个元素. 就取消其他选择的元素.
  105. for (int i = 0; i < projectMoudelTree.getTreeItemList().size(); i++) {
  106. TreeItem tempItem = projectMoudelTree.getTreeItemList().get(i);
  107. if(item != tempItem) {
  108. tempItem.setChecked(false);
  109. }
  110. }
  111. }
  112. }
  113. }
  114. });
  115.  
  116. 复选框选中事件:
  117. //创建复选框. 复选框不能带只读属性(SWT.READ_ONLY), 不然会认为你是按钮.
  118. checkbox = new Button(composite, SWT.CHECK);
  119. checkbox.setText("测试复选框");
  120.  
  121. checkbox.addSelectionListener(new SelectionListener() {
  122. @Override
  123. public void widgetSelected(SelectionEvent e) {
  124. //复选框, 选中取消时触发此事件.
  125. //checkbox.setSelection(false); 设置复选框选中.
  126.  
  127. //如果想要复选框为只读属性
  128. if(checkbox.getSelection()) {
  129. checkbox.setSelection(false);
  130. } else {
  131. checkbox.setSelection(true);
  132. }
  133. }
  134.  
  135. @Override
  136. public void widgetDefaultSelected(SelectionEvent e) { }
  137. });
  138. SWT带垂直滚动条的Text自动滚动到底部(比如显示聊天信息, 日志的显示等)
  139. 以前一直以为是滚动条的设置. 结果完全不是那么回事.
  140. Text tbx_text = new Text(group, SWT.BORDER | SWT.WRAP
  141. | SWT.V_SCROLL | SWT.READ_ONLY);
  142. tbx_text.setTopIndex(Integer.MAX_VALUE);
  143. 直接设置它的显示行数就行了, 设置最大, 就显示到最底了.
  144. Dialog模式化:
  145. private void createContents() {<span style="white-space:pre"> </span>
  146. shell = new Shell(getParent(), getStyle()|SWT.SHELL_TRIM|SWT.APPLICATION_MODAL);

转: JAVA_SWT常用事件, 和方法的更多相关文章

  1. javascript常用事件及方法

    1.获取鼠标坐标,考虑滚动条拖动 var e = event || window.event; var scrollX = document.documentElement.scrollLeft || ...

  2. Bootstrap modal常用参数、方法和事件

    Bootstrap modal(模态窗)常用参数.方法和事件: 参数: 名称 类型 默认值 描述 Backdrop Boolean或字符串“static” True True:有背景,点击modal外 ...

  3. JavaScript中,有三种常用的绑定事件的方法

    要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数.所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称. 在JavaScript中,有三种常用的 ...

  4. Javascript中常用事件集合和事件使用方法

    Javascript中常用事件集合和事件使用方法 一.事件绑定 格式: 事件源 . on事件类型=事件处理函数 事件绑定三要素 1.事件源:和谁绑定 2.事件类型:什么事件 3.事件处理函数:触发了要 ...

  5. DevExpress 行事历(Scheduler)的常用属性、事件和方法

    一.TcxScheduler[TcxScheduler常用属性]1.Storage    - 邦定一个Storage为Scheduler显示提供数据 2.DateNavigate.ColCount   ...

  6. ios手势操作,四个基本事件与六个常用事件

    基本事件包括begin,canceled,move,ended四项,如果对象的hidden属性为yes,则无效果,hidden属性必须为no;才能使用: -(void)touchesBegan:(NS ...

  7. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  8. Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数、ColModel API、事件及方法

    系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...

  9. JavaScript常用对象的方法和属性

    ---恢复内容开始--- 本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数. 一.串方法 JavaScript有强大的串处理功能,有了这些串方法,才能编写出丰富多彩 ...

随机推荐

  1. Ubuntu 安装Google浏览器

    Ubuntu自带的浏览器是火狐浏览器,使用的时候多多少少有些不方便,这里安装Googel浏览器. 下载 可以到 Ubuntu chrome去下载安装包. 安装 首先到下载的根目录 cd ~/Downl ...

  2. 问题 A: Least Common Multiple

    题目描述 The least common multiple (LCM) of a set of positive integers is the smallest positive integer ...

  3. Visual Studio各版本工程文件之间的转换 [转载]

    原网址:http://www.cnblogs.com/jmliao/p/5594179.html Visual Studio各版本工程文件之间的转换   由于VS版本比较多,低版本无法直接打开高版本的 ...

  4. C#非托管跨线程委托调试

    使用C#调用mingw的so文件,拿视频数据回wpf的界面进行显示,注册了回调函数.C++在调用回调函数时遇到了委托被回收的问题,提示:“类型的已垃圾回收委托进行了回调.这可能会导致应用程序崩溃.损坏 ...

  5. sysctl -P 报错解决办法 error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key

    error: "net.bridge.bridge-nf-call-ip6tables" is an unknown keyerror: "net.bridge.brid ...

  6. codeforce580c (dfs)

    题目意思:给你一棵树,然后每个叶子节点会有一家餐馆,你讨厌猫,就不会走有连续超过m个节点有猫的路,然后问你最多去几家饭店 思路:直接DFS Example Input 4 11 1 0 01 21 3 ...

  7. 通过NTP(Network Time Protocal)协议进行时间同步

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAwUAAAKOCAYAAAD3ZbXWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjw

  8. 用AngularJS操作DOM

    在angular中使用第三方插件时最好都封装到指令(directives)中去,DOM操作也最好都解构到指令中. <!DOCTYPE html> <html lang="e ...

  9. 前端工程师必须要知道的SEO技巧(2):制作比设计还要漂亮的代码(内容和语义化代码)实现下

    提醒自己:上一篇文章属于纯理论的文章,我自己有的部分之从网上摘抄的,我自己也是不理解的.或许过一段日子我就能全明白了.我自己还是喜欢实战,做几个例子就明白了. 怎么做让自己网页的标签来实现语义化,我直 ...

  10. git使用笔记(三)文件忽略

    By francis_hao    Nov 19,2016 注:此条所有内容均来自$ git help gitignore,细节请参考之   有时候在仓库里有一些文件我们并不想提交,git提供了指定屏 ...