
java KeyListener的问题
我在框架上有一个面板和几个按钮,我设计用键盘控制面板里图形的移动和变形。。。程序运行的时候键盘可以操作,但是当我点击其中某个按钮之后。。。键盘就无法控制图形的变换了。。。...
我在框架上有一个面板和几个按钮,我设计用键盘控制面板里图形的移动和变形。。。程序运行的时候键盘可以操作,但是当我点击其中某个按钮之后。。。键盘就无法控制图形的变换了。。。
显示图形的面板为gridlayout布局,里面有M * N 个小面板,控制图形即是控制不同小面板的backGround颜色。 展开
显示图形的面板为gridlayout布局,里面有M * N 个小面板,控制图形即是控制不同小面板的backGround颜色。 展开
3个回答
展开全部
没有了焦点,焦点跑到按钮上了,你的键盘的操作就是对那个按钮进行的操作了,面板的KeyListener接收不到键盘事件,所以就不会有反应了。
你可以再点击按钮之后再点击窗口,回到面板那里,或者用代码实现SetForce()。
你可以再点击按钮之后再点击窗口,回到面板那里,或者用代码实现SetForce()。
更多追问追答
追问
SetForce用在什么地方?按钮的监听器里吗?具体怎么实现?
假设按钮名为jbtOK,显示图片的面板名为jpMain
追答
在jbtOK的鼠标弹起事件中最后加入:
jpMain.requestFocus();
展开全部
楼主几位说的有些不对,因为监听机制是委托的
即使焦点跑到了按钮上,但是按钮没有监听键盘事件,那么按钮就会委托它的父容器来处理键盘事件,以此类推
楼主 最好把代码贴出来 给大家看看
即使焦点跑到了按钮上,但是按钮没有监听键盘事件,那么按钮就会委托它的父容器来处理键盘事件,以此类推
楼主 最好把代码贴出来 给大家看看
追问
代码一千几百行,不好发啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
原因是你点击某个按钮之后,程序焦点就在你的按钮上而不在你键盘监听的位置上了。修改方法是在点击之后让程序自动把焦点移回你的面板上
追问
具体怎么操作?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询