Hi Wim,
The same also happens with the second JTextArea if you press
Shift-Tab from the button. And for the same reasons. Change these
two lines in the MyTextArea constructor from "true" to "false":
forwardFocusTraversalKeys.add(
AWTKeyStroke.getAWTKeyStroke(
KeyEvent.VK_TAB, 0, true ) );
...
backwardFocusTraversalKeys.add(
AWTKeyStroke.getAWTKeyStroke(
KeyEvent.VK_TAB, InputEvent.SHIFT_DOWN_MASK, true ) );
to
forwardFocusTraversalKeys.add(
AWTKeyStroke.getAWTKeyStroke(
KeyEvent.VK_TAB, 0, false ) );
...
backwardFocusTraversalKeys.add(
AWTKeyStroke.getAWTKeyStroke(
KeyEvent.VK_TAB, InputEvent.SHIFT_DOWN_MASK, false ) );
It's also helpful and likely to draw more response if you send
compilable code. That includes import statements. Best,
Joe Sam
Joe Sam Shirah - http://www.conceptgo.com
conceptGO - Consulting/Development/Outsourcing
Java Filter Forum: http://www.ibm.com/developerworks/java/
Just the JDBC FAQs: http://www.jguru.com/faq/JDBC
Going International? http://www.jguru.com/faq/I18N
Que Java400? http://www.jguru.com/faq/Java400
----- Original Message -----
From: "Deblauwe, Wim" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Wednesday, October 29, 2003 7:48 AM
Subject: weird focus behaviour with 2 JTextArea's
> Hi,
>
> I want enable TAB/SHIFT-TAB in a JTextArea to go to the next JTextArea and
> not print a tab character in the JTextArea. This can be easily done with
> setFocusTraversalKeys(). But I found something strange. Below is a
> testprogram with one JButton and 2 JTextArea's. When the program is
started,
> focus is on the JButton. Press TAB and the focus will go to the first
> JTextArea and immediately to the second JTextArea. If you place the focus
> with the mouse on the first JTextArea and press tab, it goes to the second
> as it should.
>
> Can someone explain this behaviour?
>
> Below is the code of my testprogram...
>
> public class FocusTest extends JFrame
> {
> public static void main( String[] args )
> {
> FocusTest test = new FocusTest();
> test.pack();
> test.setVisible(true);
> }
>
> public FocusTest() throws HeadlessException
> {
> super("Focus Test");
> setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
>
> setContentPane( createContent() );
>
> }
>
> private JPanel createContent()
> {
> JPanel panel = new JPanel();
> panel.setBorder( BorderFactory.createEmptyBorder(12,12,12,12));
> panel.setLayout( new BoxLayout(panel, BoxLayout.Y_AXIS));
> JButton button = new JButton("Test button");
> panel.add(button);
>
> JTextArea textArea1 = new MyTextArea();
> panel.add( textArea1 );
>
> panel.add( Box.createVerticalStrut(7));
>
> JTextArea textArea2 = new MyTextArea();
> panel.add( textArea2 );
>
> return panel;
> }
>
> private class MyTextArea extends JTextArea
> {
> public MyTextArea()
> {
> super(10, 50);
> Set forwardFocusTraversalKeys = new HashSet();
>
>
forwardFocusTraversalKeys.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_TAB,
> 0, true));
> setFocusTraversalKeys(KeyboardFocusManager.FORWARD_TRAVERSAL_KEYS,
> forwardFocusTraversalKeys);
>
> Set backwardFocusTraversalKeys = new HashSet();
>
>
backwardFocusTraversalKeys.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_TAB,
> InputEvent.SHIFT_DOWN_MASK, true));
> setFocusTraversalKeys(KeyboardFocusManager.BACKWARD_TRAVERSAL_KEYS,
> backwardFocusTraversalKeys);
> }
> }
>
> }
>
>
> Ing. Wim Deblauwe
_______________________________________________
Advanced-swing mailing list
[EMAIL PROTECTED]
http://eos.dk/mailman/listinfo/advanced-swing