Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 除了转移焦点外,如何重载tab键_Java_Swing - Fatal编程技术网

Java 除了转移焦点外,如何重载tab键

Java 除了转移焦点外,如何重载tab键,java,swing,Java,Swing,因此,我尝试设计一个只访问该组件的组件,当用户点击tab键取决于变量x的值时,该组件的行为应该不同 假设x为1,将焦点转移到下一个组件,这与tab通常所做的相同。 如果x为2,则执行其他操作此组件由3个较小的组件组成,此处的“其他操作”指的是在这3个较小组件之间转移焦点 目前,我完成了x=2的情况,我使用了一个键侦听器来执行此操作,但现在如果x=1,我点击tab键,焦点将不会转移到下一个组件 那么,如何在保留tab键原有功能的同时向tab键添加一些新功能呢?不清楚您在哪一部分遇到问题:检测用户何

因此,我尝试设计一个只访问该组件的组件,当用户点击tab键取决于变量x的值时,该组件的行为应该不同

假设x为1,将焦点转移到下一个组件,这与tab通常所做的相同。 如果x为2,则执行其他操作此组件由3个较小的组件组成,此处的“其他操作”指的是在这3个较小组件之间转移焦点

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


那么,如何在保留tab键原有功能的同时向tab键添加一些新功能呢?

不清楚您在哪一部分遇到问题:检测用户何时点击tab键、转移焦点或if x==1部分

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

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


确保使用setFocusabletrue将每个组件设置为可聚焦

您是否正在尝试验证用户输入?实际上不是,因此我正在设计的组件有3个较小的组件,因此tab键将用于在较小的组件之间转移焦点或将焦点转移到下一个组件抱歉,不清楚,我更新了我的问题。我的错误是问题中提到的转移焦点部分。此外,我只能访问我正在设计的组件。如果你给super.Actione打电话怎么办;当x==1时,在密钥侦听器中?这将调用tab的默认行为。