使用快捷键Shift+Tab切换Tab

简介:

使用快捷键Shift+Tab切换Tab

使用一个变量存储点击过的Tab的序号

Java代码   收藏代码
  1. private int defaultTabbedIndex=0;  
  2.     /*** 
  3.      * tab 的序号,用于使用快捷键Shift+Tab 切换Tab 
  4.      */  
  5.     private List<Integer>indexList=new ArrayList<Integer>();  
  6.     {  
  7.         indexList.add(defaultTabbedIndex);  
  8.     }  

 

每次选中某个Tab,就把该Tab的index添加进indexList中:

Java代码   收藏代码
  1. tabbedPane.addChangeListener(new ChangeListener() {  
  2.             @Override  
  3.             public void stateChanged(ChangeEvent e) {  
  4.                 JTabbedPane tabbedPane = (JTabbedPane) e.getSource();  
  5.                 int selectedIndex = tabbedPane.getSelectedIndex();  
  6.                 indexList.add(selectedIndex);  
  7.             }  
  8.         });  

 

获取上一次Tab的序号:

Java代码   收藏代码
  1. /*** 
  2.      * 获取上一次Tab的序号 
  3.      * @return 
  4.      */  
  5.     private int getLastIndex(){  
  6.         int length=indexList.size();  
  7.         if(length<2){  
  8.             return SystemHWUtil.NEGATIVE_ONE;  
  9.         }  
  10.         return indexList.get(length-2);  
  11.     }  

 

增加全局快捷键:

Java代码   收藏代码
  1. /*** 
  2.      * 增加全局快捷键Shift+Tab 
  3.      */  
  4.     private void addGlobalKey(){  
  5.         Toolkit toolkit = Toolkit.getDefaultToolkit();  
  6.         // 注册应用程序全局键盘事件, 所有的键盘事件都会被此事件监听器处理.  
  7.         toolkit.addAWTEventListener(  
  8.                 new java.awt.event.AWTEventListener() {  
  9.                     public void eventDispatched(AWTEvent event) {  
  10.                         if (event.getClass() == KeyEvent.class) {  
  11.                             KeyEvent kE = ((KeyEvent) event);  
  12.                             // 处理按键事件 Shift+Tab  
  13.                             if ((kE.getKeyCode() == KeyEvent.VK_TAB)  
  14.                                     && (((InputEvent) event)  
  15.                                             .isShiftDown())&& kE.getID() == KeyEvent.KEY_PRESSED) {  
  16.                                 System.out.println("111");  
  17.                                 int lastIndex=getLastIndex();  
  18.                                 if(lastIndex<0){  
  19.                                     return;  
  20.                                 }  
  21. //                              indexList.add(tabbedPane.getSelectedIndex());  
  22.                                 tabbedPane.setSelectedIndex(lastIndex);  
  23.                             }   
  24.                         }  
  25.                     }  
  26.                 }, java.awt.AWTEvent.KEY_EVENT_MASK);  
  27.     }  

 

 

参考:

java swing增加全局快捷键

java swing 下拉框增加回车事件

相关文章
|
1月前
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅
|
1月前
【冷门快捷键】设置VSCode终端大小最小化快捷键Alt+PageUp/PageDown、编辑代码窗口切换大小快捷键Alt+数字键盘“+”、Alt+数字键盘“-”、Alt+数字键盘“0”
【冷门快捷键】设置VSCode终端大小最小化快捷键Alt+PageUp/PageDown、编辑代码窗口切换大小快捷键Alt+数字键盘“+”、Alt+数字键盘“-”、Alt+数字键盘“0”
|
1月前
VSCode设置折叠左侧资源管理器所有文件夹的快捷键Alt+X、切换左侧活动栏显示隐藏快捷键Alt+Q
VSCode设置折叠左侧资源管理器所有文件夹的快捷键Alt+X、切换左侧活动栏显示隐藏快捷键Alt+Q
|
1月前
隐藏HBuilderX控制台的快捷键是Ctrl+Shift+Y
隐藏HBuilderX控制台的快捷键是Ctrl+Shift+Y
先按ctrl再按A和先按A再按ctrl一样吗?
先按ctrl再按A和先按A再按ctrl一样吗?
|
JSON 数据格式
VSCode使用技巧——Ctrl+鼠标滚轮键使字体进行缩放
VSCode使用技巧——Ctrl+鼠标滚轮键使字体进行缩放
466 0
shift
shift
71 0
Tab动画菜单
在线演示 本地下载
764 0
window常用的快捷键
1、win+r打开运行命令   2、appwiz.cpl打开程序面板,进行程序的安装、卸载 输入win+r打开运行命令,输入appwiz.cpl   3、services.msc打开服务,一般用于启动或者关闭软件的服务 输入win+r打开运行命令,输入services.msc
766 0