Enhanced Ctrl-Tab File Switcher in NetBeans IDE 7.2
By Geertjan on Jun 13, 2012
Press Ctrl-Tab to toggle the file switcher in NetBeans IDE and you'll see something more expressive when you're using NetBeans IDE 7.2:
As you can see, not only open editor documents are found in the file switcher. Also open view documents, e.g., "Properties" in the screenshot above, are shown. Keep pressing Tab while holding down the Ctrl key or hold down the Ctrl key while pressing up and down to move up and down the list.
However, in addition, you can see that you can now also switch to tabs within file documents. Above, you can see I have selected "ShapeTopComponent.java" which, because it is a GUI component, has three different tabs, "Source", "Design", and "History". By pressing the right arrow key and the left arrow key, I can switch between those different tabs in the switcher, if I am still holding down the Ctrl key. Then, when the I release the Ctrl key, whichever currently selected file, at whatever selected tab, is opened.
All this thanks to JDeveloper, where this enhanced switcher was a requirement. (Read here.)
Related to all of this is the new call "TopComponent.getSubComponents", which was needed to achieve part of the above: "The new method can be used to access for example inner tabs in a multiview window." (Read here.)
Note also that there's a new branding token "WinSys.CtrlTabSwitching.In.JTable.Enabled", to disable Ctrl-Tab window switching when a JTable or a JTabbedPane has input focus, because in those contexts Ctrl-Tab consumes key strokes associated with those components. (Read here and read here.)
A happy side effect for anyone creating their generic desktop applications on the NetBeans Platform is that your users can click Ctrl-Tab to switch between open windows (which in some NetBeans Platform applications can be MANY open windows), even when you don't have any editor documents in your application:
So, thanks to JDeveloper, NetBeans Platform applications all over the world now have a handy window switcher, automatically, without you needing to write a single line of code.