import java.awt.BorderLayout;
import java.awt.Component;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.JTextField;
public class Main {
public static void main(String[] args) {
JTabbedPane tabbedPane;
JTextField txtFoo = new JTextField(10);
JPanel pnlFoo = new JPanel();
pnlFoo.add(new JButton("Button 1"));
pnlFoo.add(new JLabel("Foo"));
pnlFoo.add(txtFoo);
JTextField txtBar = new JTextField(10);
JPanel pnlBar = new JPanel();
pnlBar.add(new JButton("Button 3"));
pnlBar.add(new JLabel("Bar"));
pnlBar.add(txtBar);
tabbedPane = new JTabbedPane();
tabbedPane.addTab("Tab 1", pnlFoo);
tabbedPane.addTab("Tab 2", pnlBar);
tabbedPane.addChangeListener(e -> {
Component comp = tabbedPane.getSelectedComponent();
if (comp.equals(pnlFoo)) {
txtFoo.requestFocusInWindow();
} else if (comp.equals(pnlBar)) {
txtBar.requestFocusInWindow();
}
});
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(460, 200);
frame.getContentPane().add(tabbedPane, BorderLayout.CENTER);
frame.setVisible(true);
txtFoo.requestFocusInWindow();
}
}