Swing下,鼠标点击组件不是自动获得焦点的么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swing下,鼠标点击组件不是自动获得焦点的么?相关的知识,希望对你有一定的参考价值。
我用Swing写了一个界面,里面有几个JPanel组件和几个awt的TextField组件,当鼠标点中
TextField的时候,焦点自动切换到TextField上,但是当我鼠标再点击JPanel的时候,焦点却不
能切换,始终呆在TextField上,现在我用鼠标监听,在public void mouseClicked(MouseEvent
e)里使用requestFocusInWindow(),暂时解决了问题,但是毕竟不是正规方法,求教正确的焦点
处理方法。
回 manyfaces:
我用JPanal扩展出了一个JCanvas类,用来画图,测试的时候,里面是填充满了Image的,JCanvas类实现了鼠标监听,但是函数是空的(非abstract),不知道是不是这个导致了系统自带的焦点响应鼠标功能失效。目前我在子类的mouseClicked里使用requestFocusInWindow(),暂时解决了问题。
回 猜不对:
请问是用哪个监听器?能详细说说么?
VS2010下,RichEdit 2.0获得焦点后 ,自动全选并且自动滚到到最后一行,请问怎么解决?
编译环境:Win7 sp1 ; VS2010 sp1 工程是Unicode 工程,基于对话框, 只有一个richedit 控件,铺满整个对话框!当鼠标点击其他东西,再点击该窗体时:则自动全选并且自动滚到到最后一行!如果能绝决该问题,再加分!
可以处理richedit控件的EN_SETFOCUS(获得焦点)和EN_KILLFOCUS(失去焦点)消息声明一个CHARRANGE变量(比如叫cr)记录光标位置,在EN_KILLFOCUS处理函数中调用GetSel(cr)记录当前光标位置,然後在EN_SETFOCUS处理函数中调用SetSel(cr)回覆之前记录的光标位置 参考技术A richedit.SetOptions(ECOOP_OR,ECO_SAVESEL);
以上是关于Swing下,鼠标点击组件不是自动获得焦点的么?的主要内容,如果未能解决你的问题,请参考以下文章
VS2010下,RichEdit 2.0获得焦点后 ,自动全选并且自动滚到到最后一行,请问怎么解决?
C# CefSharp封装的浏览器触摸获得焦点,有光标。无法输入中文。鼠标点击后正常。求解答谢谢!