除转移焦点外如何重载Tab键

时间:2014-08-26 14:32:49

标签: java swing

所以我尝试设计一个组件(只能访问这个组件),当用户点击tab键取决于变量x的值时,组件的行为应该不同。

假设x为1,将焦点转移到下一个组件(通常选项卡)。 如果x为2,则执行其他操作(此组件由3个较小的组件组​​成,此处的“其他内容”指的是在这3个较小的组件之间转移焦点)。

目前我完成了x = 2的情况我使用了一个关键的监听器来执行此操作,但现在如果x = 1并且我按Tab键,焦点将不会转移到下一个组件。

那么如何在保留旧功能的同时为tab键添加一些新功能呢?

1 个答案:

答案 0 :(得分:0)

我们不清楚您遇到问题的部分:检测用户何时点击Tab键,转移焦点或if (x==1)部分。

你看过这个吗? docs.oracle.com/javase/tutorial/uiswing/misc/focus.html

您可以添加一个键盘监听器来调用相应组件的requestFocusInWindow();方法来转移焦点。

确保使用setFocusable(true);

将每个组件设置为可聚焦