Ora, para que você usaria o actionPerformed em um JTextField (basicamente usada para atender a um ENTER) se você já usa o ENTER como se fosse o TAB? Não dá para fazer as duas coisas ao mesmo tempo.
import java.awt.FlowLayout;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JTextField;
public class Main extends JFrame {
JTextField[] caixasTexto;
public Main() {
super("teste");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new FlowLayout(FlowLayout.CENTER));
setSize(400,400);
Evento x = new Evento();
caixasTexto = new JTextField[5];
for (int i = 0; i < caixasTexto.length; i++) {
caixasTexto[i] = new JTextField(10);
caixasTexto[i].addKeyListener(x);
add(caixasTexto[i]);
}
}
public static void main(String[] args) {
Main starter = new Main();
starter.setVisible(true);
}
private class Evento implements KeyListener {
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == e.VK_ENTER) {
for (int i = 0; i < caixasTexto.length; i++) {
System.out.println(caixasTexto[0].getText());
if (caixasTexto[i].hasFocus()) {
if (++i >= caixasTexto.length)
i = 0;
caixasTexto[i].grabFocus();
}
}
}
}
public void keyReleased(KeyEvent e) {
}
}
}