🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.jbuilder.java.swing
Article #13086

Simple focus questions (with source code) - frametabulacao.java (0/1)

#13086
From: Joao Mauricio
Date: Fri, 18 Sep 1998 00:00
121 lines
4832 bytes
Hi all,

	I'm trying to change the tab order of my frame. 
	My frame have 4 (four) JTextField's and 2 (two) JButton's, like this:

   jTextField1     jButton1
   jTextField2     jButton2
   jTextField3
   jTextField4

	The default order is jTextField1, jButton1, jTextField2, jButton2,
jTextField3, jTextField4.

	I'm trying to change this to jTextField1, jTextField2, jTextField3,
jTextField4, jButton1, jButton2.

	I used the method setNextFocusableComponent(Component). When I hit the TAB
key I receive the message:

Exception occurred during event dispatching:
java.lang.ArrayIndexOutOfBoundsException: 6 > 5
	at java.util.Vector.insertElementAt(Compiled Code)
	at com.sun.java.swing.DefaultFocusManager.childrenTabOrder(Compiled Code)
	at
com.sun.java.swing.DefaultFocusManager.getComponentAfter(DefaultFocusManager.java:225)
	at
com.sun.java.swing.DefaultFocusManager.getNextComponent(DefaultFocusManager.java:162)
	at
com.sun.java.swing.DefaultFocusManager.getFocusableComponentAfter(DefaultFocusManager.java:137)
	at
com.sun.java.swing.DefaultFocusManager.focusNextComponent(DefaultFocusManager.java:88)
	at
com.sun.java.swing.DefaultFocusManager.processKeyEvent(DefaultFocusManager.java:76)
	at com.sun.java.swing.JComponent.processKeyEvent(Compiled Code)
	at java.awt.Component.processEvent(Compiled Code)
	at java.awt.Container.processEvent(Compiled Code)
	at java.awt.Component.dispatchEventImpl(Compiled Code)
	at java.awt.Container.dispatchEventImpl(Compiled Code)
	at java.awt.Component.dispatchEvent(Compiled Code)
	at java.awt.LightweightDispatcher.processKeyEvent(Container.java:1421)
	at java.awt.LightweightDispatcher.dispatchEvent(Compiled Code)
	at java.awt.Container.dispatchEventImpl(Compiled Code)
	at java.awt.Window.dispatchEventImpl(Compiled Code)
	at java.awt.Component.dispatchEvent(Compiled Code)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

	What I need to do ?

Thanks in advance,
Joao Mauricio

-------------- Source Code -------------------------------
package cetip.teste;

import java.awt.*;
import java.awt.event.*;
import com.sun.java.swing.*;
import borland.jbcl.layout.*;

public class FrameTabulacao extends JFrame {
   JTextField jTextField1 = new JTextField();
   XYLayout xYLayout1 = new XYLayout();
   JTextField jTextField2 = new JTextField();
   JTextField jTextField3 = new JTextField();
   JTextField jTextField4 = new JTextField();
   JButton jButton1 = new JButton();
   JButton jButton2 = new JButton();
   public FrameTabulacao() {
      try  {
         jbInit();
      }
      catch (Exception e) {
         e.printStackTrace();
      }
   }

   private void jbInit() throws Exception {
      this.getContentPane().setLayout(xYLayout1);
      jTextField1.setText("jTextField1");
      jTextField1.setNextFocusableComponent(jTextField2);
      jTextField2.setText("jTextField2");
      jTextField2.setNextFocusableComponent(jTextField3);
      jTextField3.setText("jTextField3");
      jTextField3.setNextFocusableComponent(jTextField4);
      jTextField4.setText("jTextField4");
      jTextField4.setNextFocusableComponent(jButton1);
      jButton1.setText("jButton1");
      jButton1.setNextFocusableComponent(jButton2);
      jButton2.setText("jButton2");
      jButton2.setNextFocusableComponent(jTextField1);
      this.getContentPane().add(jTextField1, new XYConstraints(17, 32, 207,
-1));
      this.getContentPane().add(jTextField2, new XYConstraints(17, 63, 212,
26));
      this.getContentPane().add(jTextField3, new XYConstraints(17, 105, 208,
29));
      this.getContentPane().add(jTextField4, new XYConstraints(15, 151, 217,
24));
      this.getContentPane().add(jButton1, new XYConstraints(281, 30, 100, 28));
      this.getContentPane().add(jButton2, new XYConstraints(280, 69, 101, 28));
      this.getRootPane().setDefaultButton(jButton1);
   }

   public static void main(String args[]) {
      FrameTabulacao frame = new FrameTabulacao();
      frame.setSize(500, 300);

      frame.addWindowListener(new WindowAdapter() {
         public void windowClosing(WindowEvent e) {
            System.exit(0);
         }
      });

      frame.setVisible(true);
   }
}

---------------------------------------------------
Joao Mauricio

All opinions here are mine and mine alone.
Technical Details
Message-ID: <3602be51.8102444@forums.inprise.com>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 111d45,8340ba73575c5173,start
X-Google-Attributes: gid111d45,public
From: JMauricio@Pobox.com (Joao Mauricio)
Subject: Simple focus questions (with source code) - frametabulacao.java (0/1)
Date: 1998/09/18
Message-ID: <3602be51.8102444@forums.inprise.com>
X-Deja-AN: 392518814
Organization: Cetip
Reply-To: JMauricio@Pobox.com
Newsgroups: borland.public.jbuilder.java.swing