[求大神]Swing中有没有一个获取当前获得焦点窗体的方法

快乐的橘子树 2014-10-18 10:38:39
Swing中有没有一个获取当前获得焦点窗体的方法
学Java没多久,还有很多不懂的,求大神指导
...全文
473 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
快乐的橘子树 2014-11-14
  • 打赏
  • 举报
回复
引用 5 楼 humanity 的回复:
Window 的子类型包括了 Frame 和 JFrame,cast 一下类型就可以了。
原来是这样。。谢了
humanity 2014-11-06
  • 打赏
  • 举报
回复
Window 的子类型包括了 Frame 和 JFrame,cast 一下类型就可以了。
快乐的橘子树 2014-11-04
  • 打赏
  • 举报
回复
引用 2 楼 humanity 的回复:
估计你说的是

KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow();
http://docs.oracle.com/javase/8/docs/api/java/awt/KeyboardFocusManager.html#getFocusedWindow-- http://docs.oracle.com/javase/8/docs/api/java/awt/KeyboardFocusManager.html#getFocusOwner--
这个方法返回的对象是什么类型的?貌似不是JFrame的吧。。我想知道的是一个返回获得焦点的窗体的方法。
humanity 2014-10-20
  • 打赏
  • 举报
回复
如果你只是想放弃焦点让它去下一个组件的话,可以直接:

myField.transferFocus();
myField.transferFocusBackward();
myField.transferFocusDownCycle(); 进到子焦点容器(如表格)
myField.transferFocusUpCycle(); 回到父焦点容器,如:从表格返回 到外面

//如果你想知道下一个焦点候选组件是谁:
myField.getFocusTraversalPolicy().getComponentAfter(myField.getFocusCycleRootAncestor(), myField);
//前一个
myField.getFocusTraversalPolicy().getComponentBefore(myField.getFocusCycleRootAncestor(), myField);
引用 2 楼 humanity 的回复:
估计你说的是

KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow();
http://docs.oracle.com/javase/8/docs/api/java/awt/KeyboardFocusManager.html#getFocusedWindow-- http://docs.oracle.com/javase/8/docs/api/java/awt/KeyboardFocusManager.html#getFocusOwner--
humanity 2014-10-20
  • 打赏
  • 举报
回复
估计你说的是

KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusedWindow();
http://docs.oracle.com/javase/8/docs/api/java/awt/KeyboardFocusManager.html#getFocusedWindow-- http://docs.oracle.com/javase/8/docs/api/java/awt/KeyboardFocusManager.html#getFocusOwner--
刹那55 2014-10-20
  • 打赏
  • 举报
回复
this.getComponents()

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧