SWT中关于FocusListener的问题

2008-02-23 09:21:38来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

在SWT中FocusListener可以用来监听一个textfield是否被选中,
在下面的程序里,我在两个text上加了FocusListener,功能是当
text被选中时,上面的文字会呈全选状态。
我不知道为什么只对第一个有效?
后来才发现是因为两个text的类型不一样。
只是对SWT.SINGLE的text,好象selectAll()无效 。

//TextField1.Java
import org.Eclipse.swt.SWT;
import org.eclipse.swt.events.FocusEvent;
import org.eclipse.swt.events.FocusListener;
import org.eclipse.swt.widgets.*;

public class TextField1 {

Display d;
Shell s;
TextField1( ) {
d = new Display( );
s = new Shell(d);
s.setSize(250,250);
s.setText("A Text Field Example");
Text text1 = new Text(s, SWT.WRAP |SWT.BORDER);
text1.setBounds(100,50,100,20);
text1.setTextLimit(5);
text1.setText("12345");
Text text2 = new Text(s, SWT.SINGLE | SWT.BORDER);
text2.setBounds(100,75,100,20);
text2.setTextLimit(10);

// add a focus listener
FocusListener focusListener = new FocusListener( ) {
public void focusGained(FocusEvent e) {
Text t = (Text)e.widget;
t.selectAll();
}
public void focusLost(FocusEvent e) {
Text t = (Text)e.widget;
if(t.getSelectionCount( ) > 0){
t.clearSelection( );
}
}
};
text1.addFocusListener(focusListener);

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:WTP On Eclipse,想说爱你不容易!

下一篇:J2ME低级界面题目——测验你的J2ME技术能力如何?