转: JAVA_SWT常用事件, 和方法
转自: http://blog.csdn.net/lyq19870515/article/details/9450275
获取焦点事件:
text.addListener(SWT.FocusIn, new Listener() {
public void handleEvent(Event e) {
// 处理得到焦点的事件
}
}); 失去焦点事件:
text.addListener(SWT.FocusOut, new Listener() {
public void handleEvent(Event e) {
// 处理失去焦点的事件
}
}); 鼠标移入移出事件:
treeCom.getTree().addMouseTrackListener(new MouseTrackListener() {
@Override
public void mouseHover(MouseEvent e) { } @Override
public void mouseExit(MouseEvent e) {
//移入事件
}
@Override
public void mouseEnter(MouseEvent e) {
//移出事件
}
}); 按钮单击事件:
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
//事件处理
}
}); 鼠标左键双击事件:
tree.addListener(SWT.MouseDoubleClick, new Listener() {
@Override
public void handleEvent(Event event) {
if(event.button != 1) { //按键不是左键跳出. 1左键,2中键,3右键
return;
}
//事件处理
}
}); Table设置行高事件:
table_1.addListener(SWT.MeasureItem, new Listener() { @Override
public void handleEvent(Event event) {
//处理事件
event.height = 30;
//把当前事件移除.不然你点一下表就会执行很多次事件.
table.removeListener(SWT.MeasureItem, this);
}
}); 按钮单击事件:
button.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
//事件
}); 双击树.获得当前点击节点的名字:
tree.addListener(SWT.MouseDoubleClick, new Listener() {
@Override
public void handleEvent(Event event) {
if(event.button != 1) { //不是点击鼠标右键.
return;
}
Point point = new Point(event.x, event.y); //获取当前点击的坐标点.
TreeItem item = tree.getItem(point); //通过坐标点获取节点.
//获取所有选中的树节点.
//TreeItem [] itemArray = Global.getTree_UserOrgan().getTree().getSelection();
System.out.println(tree.getText());
}
});
获取Eclipse界面的大小(size):
Point size = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell().getSize();
获取鼠标当前位置:
Point Point = Display.getCurrent().getCursorLocation();
获取屏幕分辨率:
Monitor[] monitors = shell.getDisplay().getMonitors();
for (int i = 0; i < monitors.length; i++) {
Monitor m = monitors[i];
System.out.println(m.getBounds().toString());
} //程序输出: Rectangle {0, 0, 1366, 768}
树的复选框选中事件:
tree.addListener(SWT.Selection, new Listener() {
@Override
public void handleEvent(Event event) {
if (event.detail == SWT.CHECK) {
TreeItem item = (TreeItem) event.item;
if(item == null) {
return;
}
boolean checked = item.getChecked();
if(checked) { //如果是新选择一个元素. 就取消其他选择的元素.
for (int i = 0; i < projectMoudelTree.getTreeItemList().size(); i++) {
TreeItem tempItem = projectMoudelTree.getTreeItemList().get(i);
if(item != tempItem) {
tempItem.setChecked(false);
}
}
}
}
}
}); 复选框选中事件:
//创建复选框. 复选框不能带只读属性(SWT.READ_ONLY), 不然会认为你是按钮.
checkbox = new Button(composite, SWT.CHECK);
checkbox.setText("测试复选框"); checkbox.addSelectionListener(new SelectionListener() {
@Override
public void widgetSelected(SelectionEvent e) {
//复选框, 选中取消时触发此事件.
//checkbox.setSelection(false); 设置复选框选中. //如果想要复选框为只读属性
if(checkbox.getSelection()) {
checkbox.setSelection(false);
} else {
checkbox.setSelection(true);
}
} @Override
public void widgetDefaultSelected(SelectionEvent e) { }
});
SWT带垂直滚动条的Text自动滚动到底部(比如显示聊天信息, 日志的显示等)
以前一直以为是滚动条的设置. 结果完全不是那么回事.
Text tbx_text = new Text(group, SWT.BORDER | SWT.WRAP
| SWT.V_SCROLL | SWT.READ_ONLY);
tbx_text.setTopIndex(Integer.MAX_VALUE);
直接设置它的显示行数就行了, 设置最大, 就显示到最底了.
Dialog模式化:
private void createContents() {<span style="white-space:pre"> </span>
shell = new Shell(getParent(), getStyle()|SWT.SHELL_TRIM|SWT.APPLICATION_MODAL);
转: JAVA_SWT常用事件, 和方法的更多相关文章
- javascript常用事件及方法
1.获取鼠标坐标,考虑滚动条拖动 var e = event || window.event; var scrollX = document.documentElement.scrollLeft || ...
- Bootstrap modal常用参数、方法和事件
Bootstrap modal(模态窗)常用参数.方法和事件: 参数: 名称 类型 默认值 描述 Backdrop Boolean或字符串“static” True True:有背景,点击modal外 ...
- JavaScript中,有三种常用的绑定事件的方法
要想让 JavaScript 对用户的操作作出响应,首先要对 DOM 元素绑定事件处理函数.所谓事件处理函数,就是处理用户操作的函数,不同的操作对应不同的名称. 在JavaScript中,有三种常用的 ...
- Javascript中常用事件集合和事件使用方法
Javascript中常用事件集合和事件使用方法 一.事件绑定 格式: 事件源 . on事件类型=事件处理函数 事件绑定三要素 1.事件源:和谁绑定 2.事件类型:什么事件 3.事件处理函数:触发了要 ...
- DevExpress 行事历(Scheduler)的常用属性、事件和方法
一.TcxScheduler[TcxScheduler常用属性]1.Storage - 邦定一个Storage为Scheduler显示提供数据 2.DateNavigate.ColCount ...
- ios手势操作,四个基本事件与六个常用事件
基本事件包括begin,canceled,move,ended四项,如果对象的hidden属性为yes,则无效果,hidden属性必须为no;才能使用: -(void)touchesBegan:(NS ...
- Node.js process 模块常用属性和方法
Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...
- Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数、ColModel API、事件及方法
系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件 ...
- JavaScript常用对象的方法和属性
---恢复内容开始--- 本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数. 一.串方法 JavaScript有强大的串处理功能,有了这些串方法,才能编写出丰富多彩 ...
随机推荐
- Qt Qwdget 汽车仪表知识点拆解3 进度条编写
先贴上效果图,注意,没有写逻辑,都是乱动的 这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈 有一个大的widget,根据素材,我放了10个label 剩下的就是写一个函数,根据数据的不同, ...
- Oracle修改表字段类型(number-->varchar2(len)),亲测可用
思路: --新建临时表以存储正确的顺序create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ; --删除表A_1drop tabl ...
- 深挖 NGUI 基础 之UICamera (二)
一.UI Camera作用 UICamera需要挂载在摄像机上才能发挥作用 UICamera仅负责 发送NGUI 事件 到 脚本所附加的摄像机中看得到的对象,比如我自定义了NGUI层(在Inspect ...
- python csv 模块的使用
python csv 模块的使用 歌曲推荐:攀登(live) csv 是用逗号分隔符来分隔列与列之间的. 1. csv的写入 1.简单的写入,一次写入一行 import csv with open(& ...
- 【Python】Python内置函数dir详解
1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: 复制代码代码如下: >>> help(dir)Help on built-in function ...
- JavaScript五种继承方式详解
本文抄袭仅供学习http://www.ruanyifeng.com/blog/2010/05/object-oriented_javascript_inheritance.html 一. 构造函数绑定 ...
- well-known file is not secure
执行jstack pid时,提示well-known file is not secure. 原因是pid的启动用户不是当前用户,需要切换到启动用户下执行jstack即可. 可以通过如下命令来处理: ...
- 除了基本类型,其余类型基本上大部分new出来 java.sql 包下面要不需要new
除了基本类型,其余类型基本上大部分new出来 java.sql 包下面要不需要new
- BZOJ4423 AMPPZ2013Bytehattan(并查集)
判断网格图中某两点是否被割开,可以将割边视为边区域视为点,转化为可切割这两点的区域是否连通.于是每次判断使两个区域连通后是否会形成环(边界视为连通),若是则说明被两点被割开.并查集维护. #inclu ...
- 算法学习——kruskal重构树
kruskal重构树是一个比较冷门的数据结构. 其实可以看做一种最小生成树的表现形式. 在普通的kruskal中,如果一条边连接了在2个不同集合中的点的话,我们将合并这2个点所在集合. 而在krusk ...