使用快捷键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 下拉框增加回车事件

相关文章
|
16天前
【冷门快捷键】设置VSCode终端大小最小化快捷键Alt+PageUp/PageDown、编辑代码窗口切换大小快捷键Alt+数字键盘“+”、Alt+数字键盘“-”、Alt+数字键盘“0”
【冷门快捷键】设置VSCode终端大小最小化快捷键Alt+PageUp/PageDown、编辑代码窗口切换大小快捷键Alt+数字键盘“+”、Alt+数字键盘“-”、Alt+数字键盘“0”
|
16天前
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅
个人建议:VSCode和WebStorm中的“关闭其他所有编辑器、关闭左侧编辑器、关闭右侧编辑器”快捷键这么设置shift+alt+w、shift+alt+[、shift+alt+],你会受益匪浅
|
4月前
隐藏HBuilderX控制台的快捷键是Ctrl+Shift+Y
隐藏HBuilderX控制台的快捷键是Ctrl+Shift+Y
先按ctrl再按A和先按A再按ctrl一样吗?
先按ctrl再按A和先按A再按ctrl一样吗?
|
11月前
|
JSON 数据格式
VSCode使用技巧——Ctrl+鼠标滚轮键使字体进行缩放
VSCode使用技巧——Ctrl+鼠标滚轮键使字体进行缩放
426 0
shift
shift
66 0
Tab动画菜单
在线演示 本地下载
758 0
|
小程序
小程序实现 Tab 标签栏
首先外层使用 View 包裹。我们可以把 View 当作 HTML 中的 div 标签使用来理解就行 其次,实现多标签我们首先想到什么,数组。在小程序中数组是怎么嵌套在标签中的? wx:for="{{navTab}}"。
1264 0
|
Java Android开发
Ctrl-C和Ctrl-V
从这篇文章开始,我正式加入复制粘贴的大军,对,东东,我开始模仿你。修改POM文件导入需要的依赖,修改Import语句然后我突然发现自己project的jre环境居然是1.5发现这个情况的原因是遇到了这个问题:low到爆啊
1199 0

热门文章

最新文章