| 
  import java.awt.AWTKeyStroke;
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Container;
 import java.awt.Dimension;
 import java.awt.GridLayout;
 import java.awt.KeyboardFocusManager;
 import java.awt.event.KeyEvent;
 
 import javax.swing.JButton;
 import javax.swing.JDesktopPane;
 import javax.swing.JFrame;
 import javax.swing.JInternalFrame;
 import javax.swing.JPanel;
 
 public class MainClass extends JFrame {
 
 public MainClass() {
 super("Focus Example");
 setDefaultCloseOperation(EXIT_ON_CLOSE);
 MyPanel mypanel = new MyPanel();
 
 JButton button1 = new JButton("One");
 JButton button2 = new JButton("Two");
 JButton button3 = new JButton("Three");
 JButton button4 = new JButton("Four");
 JButton button5 = new MyButton("Five*");
 JButton button6 = new MyButton("Six*");
 JButton button7 = new JButton("Seven");
 
 mypanel.add(button2);
 mypanel.add(button3);
 
 JInternalFrame frame1 = new JInternalFrame("Internal Frame 1", true, true, true, true);
 
 frame1.setBackground(Color.lightGray);
 frame1.getContentPane().setLayout(new GridLayout(2, 3));
 frame1.setSize(300, 200);
 
 frame1.getContentPane().add(button1);
 frame1.getContentPane().add(mypanel);
 frame1.getContentPane().add(button4);
 frame1.getContentPane().add(button5);
 frame1.getContentPane().add(button6);
 frame1.getContentPane().add(button7);
 
 JDesktopPane desktop = new JDesktopPane();
 desktop.add(frame1, new Integer(1));
 desktop.setOpaque(true);
 
 // Now set up the user interface window.
 Container contentPane = getContentPane();
 contentPane.add(desktop, BorderLayout.CENTER);
 setSize(new Dimension(400, 300));
 frame1.setVisible(true);
 setVisible(true);
 }
 
 public static void main(String[] args) {
 new MainClass();
 }
 }
 
 class MyButton extends JButton {
 public MyButton(String s) {
 super(s);
 }
 
 public boolean isFocusable() {
 return false;
 }
 }
 
 class MyPanel extends JPanel {
 public MyPanel() {
 super(true);
 java.util.Set upKeys = new java.util.HashSet(1);
 upKeys.add(AWTKeyStroke.getAWTKeyStroke(KeyEvent.VK_UP, 0));
 setFocusTraversalKeys(KeyboardFocusManager.UP_CYCLE_TRAVERSAL_KEYS, upKeys);
 }
 
 public boolean isFocusCycleRoot() {
 return true;
 }
 }
 
 
 
 
 
 |