Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

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();
    }
}