Lets just spill the solution right away:
JTextArea text = new JTextArea();
text.setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS, null);
text.setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS, null);
There is also a built-in solution, which is that Ctrl-[Shift-]Tab still works. Actually, those keys always work. Those keys are also the solution when you suddenly find yourself focus-stuck within a JTable. I first thought that a JTable constituted a a "focus cycle root", but it doesn't - it is just the same effect as with the JTextArea problem here outlined (and can be "fixed" the same way).
However, Ctrl-Tag does not quite give the feeling one typically is after, and in particular not when one use the JTextArea more as a solution to text that typically is less than a line big, but can become multiline. Such a field thus looks like a JTextField, but the Tab character suddenly have a completely different meaning.
I Googled a lot, and there are lots of solutions (or rather hacks), but didn't find the above solution, which seems to be the most straightforward after Java 1.5. The huge heap of questions and solutions should, IMHO, give a hint to the Swing team that a specific method for a JTextArea to not suck up Tab events should be made available.
The
null
means that it will take the focus keys from its parent.
Hero. Thanks.
ReplyDeleteThanks, that was just what I needed. Very elegant solution!
ReplyDeleteHiện nay có nhiều cách trang điểm và địa điểm dạy cách trang điểm tốt như dịch vụ trang điểm cô dâu tại hcm, dạy trang điểm tại nhà thì nên sử dụng bộ mỹ phẩm trang điểm cơ bản. Khi trang điểm thì bạn nên sử dụng các sản phẩm trang điểm như mỹ phẩm trang điểm shiseido, mỹ phẩm trang điểm maybeline và khó nhất trong trang điểm là cách trang điểm cho mắt một mí, hy vọng sẽ giúp bạn có được cách trang điểm hiệu quả và tốt nhất.
ReplyDeleteThanks for sharing.
ReplyDeleteNếu cần chành xe phú quốc thì a/c liên hệ bên mình nhé.
Hotline: 0903751981
This is an excellent post I seen thanks to share it. It is really what I wanted to see hope in future you will continue for sharing such a excellent post.
ReplyDeletecyber security course malaysia