swt怎样使文本框不能获得焦点
答案:2 悬赏:0 手机版
解决时间 2021-12-19 02:14
- 提问者网友:爱了却不能说
- 2021-12-18 15:08
应该怎么写,求大神!
最佳答案
- 五星知识达人网友:人類模型
- 2021-12-18 16:28
Text t=new Text(shell,SWT.NONE);
t.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
shell.forceFocus()
}
});//就是在获取焦点的时候立马用其他组件设置为焦点,为什么要让文本框不获取焦点?
t.addFocusListener(new FocusAdapter() {
@Override
public void focusGained(FocusEvent e) {
shell.forceFocus()
}
});//就是在获取焦点的时候立马用其他组件设置为焦点,为什么要让文本框不获取焦点?
全部回答
- 1楼网友:英雄的欲望
- 2021-12-18 16:50
可以这样做,首先声明一个域变量,text currtext = null, 然后给每一个text:text1,text2,text3,添加focus事件监听器,使得该文本框一旦获取焦点,就将其赋值给currtext变量,失去焦点时将currtext赋值null。text123的焦点事件监听器代码可参考如下:
text1.addfocuslistener(new focusadapter() {
@override
public void focusgained(focusevent e) {
currtext = (text)e.getsource();
}
@override
public void focuslost(focusevent e){
currtext = null;
}
});
至于失去焦点事件发生时需不需要置null,需要根据实际应用需求,比如说在如下场景下,就不能置空:当点击一个按钮时,希望将刚编辑完的文本框内容提示出来,因为点击按钮时文本框已失去焦点,所以根本无法获取文本框,这时就不能将currtext赋值为null了。
手敲代码,望采纳!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯