【问题标题】:How to tab through components?如何通过组件标签?
【发布时间】:2012-03-22 12:41:48
【问题描述】:

我的Swing 程序有很多字段,用户必须填写这些字段才能查询数据库。

问题是当我在一个字段中按tab 时,焦点根本没有移动。

我读到的关于焦点子系统的所有信息都让我觉得任何程序都应该默认这样做,因此我问,因为我的程序没有这样做。

我正在使用netbeans 并且还尝试在组件上设置 nextFocusableComponent 但没有运气。

有什么建议吗?

【问题讨论】:

  • 标签退出文本字段应该可以在没有任何调整的情况下工作(顺便说一句:最好不要使用不推荐使用的方法,严格来说不能保证它们会保留下来,尽管它们会......)让我们看一个 sscce 演示问题
  • @kleopatra 问题是我的代码太大,我真的不知道该发布什么,所以你可以尝试找出问题所在。而且现在选项卡在任何组件中都不起作用。
  • 您的代码有问题,如果我们看到它,我们只能提供帮助 - 不是您的完整代码,而是演示错误行为的 SSCCE。提供 SSCCE 是您的工作(通常,您会在准备时自己发现错误 :-)
  • 你是否使用了一些第三个控件(除了 Swing 自己的)?
  • OK 听起来很愚蠢(和我一样),但问题正在发生,因为我将 frame focusable 属性设置为 false,这让我认为其中包含的任何组件都会失去可聚焦的能力。无论如何,谢谢!

标签: java swing tabs focus


【解决方案1】:

不确定您的代码中是否有其他部分可能会导致您出现问题。但是这里有一个来自 oracle 的参考,它向您展示了如何设置选项卡焦点和下一个焦点。在此它还记录了您需要在它工作之前设置的其他内容。

http://docs.oracle.com/javase/tutorial/uiswing/misc/focus.html

我建议您发布部分代码,以便其他人可以查看是否存在其他下划线问题。

stackoverflow 上还有另一个关于这个问题的帖子:Java tab order: How to set Tab order in java swing table

【讨论】:

  • 复制/粘贴 kleopatra 的评论给 Daniel。
【解决方案2】:

看看 FocusTraversalPolicy 类。

希望这会对您有所帮助:http://www.java2s.com/Code/Java/Swing-JFC/FocusTraversalExample.htm

【讨论】:

  • 如果选项卡根本无法识别,自定义 FTP 根本没有帮助 :-)
  • @kleopatra 这正是问题所在,所有的 FTP 都解释了订单等等,但我的订单没有问题,我的问题是它没有发生
猜你喜欢
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-17
相关资源
最近更新 更多