永发信息网

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()
}
});//就是在获取焦点的时候立马用其他组件设置为焦点,为什么要让文本框不获取焦点?
全部回答
  • 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了。 手敲代码,望采纳!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯