如何通过组件选项卡?

问题描述:

我的Swing程序有很多字段,用户必须填写以便查询数据库。如何通过组件选项卡?

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

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

我使用的是netbeans,并尝试在组件上设置nextFocusableComponent,但没有运气。

任何提示?

+3

tab键切换出关文本框没有任何调整,就可以(顺便说一句,最好不要使用过时的方法,严格来说也不能保证他们会依然存在,尽管他们会......)让我们看到一个sscce,它演示了这个问题 – kleopatra 2012-03-22 12:49:27

+0

@kleopatra问题是我的代码太大了,我不知道要发布什么,所以你可以尝试找到问题所在。现在,Tab键在任何组件中都不起作用。 – Lowb 2012-03-22 13:30:47

+2

你的代码有问题,如果我们看到它,我们只能提供帮助 - **不是**你的完整代码,而是一个证明错误行为的SSCCE。提供该SSCCE是你的工作(通常,你会在准备时发现错误:-) – kleopatra 2012-03-22 13:52:18

不确定是否有其他代码可能导致您的问题。但是这里有一个oracle的参考文献,告诉你如何设置标签焦点和下一个焦点。在此之前,它还会记录其他需要在设置之前设置的事项。

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

我建议您发布的代码,这样其他的部分可以看到,如果还有其他的问题突显。

也有这个问题上的计算器另一个线程:Java tab order: How to set Tab order in java swing table

+1

复制/粘贴kleopatra的评论给Daniel。 – 2012-03-22 14:20:21

对FocusTraversalPolicy类看看。

希望这将有助于你:http://www.java2s.com/Code/Java/Swing-JFC/FocusTraversalExample.htm

+1

如果标签根本没有被识别,一个自定义的FTP根本没有任何帮助:-) – kleopatra 2012-03-22 12:56:43

+0

@kleopatra这就是问题所在,所有的FTP都解释了顺序,但是我没有任何问题,我的问题是它不会发生 – Lowb 2012-03-22 13:31:59