TraverseListener介绍
来源:互联网 发布:吉他选购知乎 编辑:程序博客网 时间:2024/06/08 02:34
转自:http://blog.sina.com.cn/s/blog_568c94a30100ppy6.html
TraverseListener:
它只有一个keyTraversed方法。当widget来回移动焦点,比如按下TAB或者向上和向下箭头按钮时,会调用此方法。相对应的,会产生一个TraverseEvent对象。其中比较有用的属性时detail和doit。doit属性就和VerifyListener中的作用一样;它设置一个标记,指明事件该不该继续。detail属性指明了这是一个什么样的“来回事件”。你将会在SWT.TRAVERSE_XXXX这样的定义中找到不同的类型。
下面的例子中,你会看到我们比较TraverseEvent中detail的SWT.TRAVERSE_TAB_divVIOUS。如果有一个向前的tab(Soso said:比如按住Shift 按TAB),那么这次动作就会取消。
Button b1 = new Button(shell, SWT.PUSH);
Buttonb2 = new Button(shell, SWT.PUSH);
Buttonb3 = new Button(shell, SWT.PUSH);
Buttonb4 = new Button(shell, SWT.PUSH);
Buttonb5 = new Button(shell, SWT.PUSH);
Buttonb6 = new Button(shell, SWT.PUSH);
b1.setBounds( 10,10,50,50);
b2.setBounds(100,10,50,50);
b3.setBounds(200,10,50,50);
b4.setBounds(10,100,50,50);
b5.setBounds(100,100,50,50);
b6.setBounds(200,100,50,50);
b1.setText("1");
b2.setText("2");
b3.setText("3");
b4.setText("4");
b5.setText("5");
b6.setText("6");
FocusListenerfocusListener = new FocusListener() {
public void focusGained(FocusEvent e) {
System.out.println(e.widget + " has focus ");
}
public void focusLost(FocusEvent e) {
System.out.println( "And now has lost it. ");
}
};
TraverseListenertraverseListener = new TraverseListener() {
public void keyTraversed(TraverseEvent e) {
if (e.detail == SWT.TRAVERSE_TAB_divVIOUS) {
System.out.println( "You can't go back! ");
e.doit = false;
}
System.out.println(e.widget + " was traversed ");
}
};
b1.addFocusListener(focusListener);
b4.addTraverseListener(traverseListener);
b4.addFocusListener(focusListener);
b6.addTraverseListener(traverseListener);
Button
Button
Button
Button
Button
b1.setBounds(
b2.setBounds(100,10,50,50);
b3.setBounds(200,10,50,50);
b4.setBounds(10,100,50,50);
b5.setBounds(100,100,50,50);
b6.setBounds(200,100,50,50);
b1.setText("1");
b2.setText("2");
b3.setText("3");
b4.setText("4");
b5.setText("5");
b6.setText("6");
FocusListener
};
TraverseListener
};
b1.addFocusListener(focusListener);
b4.addTraverseListener(traverseListener);
b4.addFocusListener(focusListener);
b6.addTraverseListener(traverseListener);
- TraverseListener介绍
- TraverseListener的介绍
- java SWT:TraverseEvent的理解塈添加TraverseListener实现Composite之间TAB键切换焦点
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 介绍
- 在嵌入式Linux系统中应用的GTK+和X分析
- 自动化软件安全防护解决方案实例介绍
- ASP.NET导出EXCEL方法总结
- Objective C 享元模式
- U盘无法格式化的解决方法
- TraverseListener介绍
- 抵触微软
- sharepoint母版页下载
- 50个SQL
- Linux用户、组管理基本命令(整理)
- 为什么项目经理拿的钱比程序员多?
- 简单的Socket通信
- 嵌入式技巧:ARM的三种中断调试方法介绍
- java.io.FileNotFoundException: /mnt/sdcard/2012-08-15Log.txt (Permission denied)