Text nickNameText = new Text(group, SWT.BORDER | SWT.SHADOW_IN);
nickNameText.addListener(SWT.FocusIn, new Listener() {
public void handleEvent(Event e) {
// 處理得到焦點(diǎn)的事件
nickNameText.selectAll();
}
});
nickNameText.addListener(SWT.FocusOut, new Listener() {
public void handleEvent(Event e) {
// 處理失去焦點(diǎn)的事件
}
});
Text nickNameText = new Text(group, SWT.BORDER | SWT.SHADOW_IN);
nickNameText.addListener(SWT.FocusIn, new Listener() {
public void handleEvent(Event e) {
// 處理得到焦點(diǎn)的事件
nickNameText.selectAll();
}
});
nickNameText.addListener(SWT.FocusOut, new Listener() {
public void handleEvent(Event e) {
// 處理失去焦點(diǎn)的事件
}
});
好像還有一個(gè)SWT.FOCUSED事件,不過我測試了,如果用鼠標(biāo)點(diǎn)擊,會引發(fā)這個(gè)事件,但如果用Tab鍵切換,則不會,所以還是用 SWT.FocusIn 和 SWT.FocusOut 比較合理一些。
內(nèi)部處理,可以在獲得焦點(diǎn)時(shí),保存原來的數(shù)據(jù),在失去焦點(diǎn)時(shí),做判斷,如果發(fā)生了數(shù)據(jù)變化,則進(jìn)行相應(yīng)的處理即可。
nickNameText.addListener(SWT.FocusIn, new Listener() {
public void handleEvent(Event e) {
// 處理得到焦點(diǎn)的事件
nickNameText.selectAll();
}
});
nickNameText.addListener(SWT.FocusOut, new Listener() {
public void handleEvent(Event e) {
// 處理失去焦點(diǎn)的事件
}
});
Text nickNameText = new Text(group, SWT.BORDER | SWT.SHADOW_IN);
nickNameText.addListener(SWT.FocusIn, new Listener() {
public void handleEvent(Event e) {
// 處理得到焦點(diǎn)的事件
nickNameText.selectAll();
}
});
nickNameText.addListener(SWT.FocusOut, new Listener() {
public void handleEvent(Event e) {
// 處理失去焦點(diǎn)的事件
}
});
好像還有一個(gè)SWT.FOCUSED事件,不過我測試了,如果用鼠標(biāo)點(diǎn)擊,會引發(fā)這個(gè)事件,但如果用Tab鍵切換,則不會,所以還是用 SWT.FocusIn 和 SWT.FocusOut 比較合理一些。
內(nèi)部處理,可以在獲得焦點(diǎn)時(shí),保存原來的數(shù)據(jù),在失去焦點(diǎn)時(shí),做判斷,如果發(fā)生了數(shù)據(jù)變化,則進(jìn)行相應(yīng)的處理即可。