I have 8 tabs in my Java pane and I need each one to have an exit button that will close that tab not the whole program. I can get the button on one tab only and have not figured out how to make it work yet. Here is my code so far:
import java.awt.BorderLayout;
import java.awt.Color;
import java.util.Date;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.SwingConstants;
public class JavaTabs extends JFrame {
    public JavaTabs() {
        super( "Course Project " );
        JTabbedPane tab = new JTabbedPane();
        // constructing the first panel
        JLabel l1 = new JLabel( " ", SwingConstants.CENTER );
        JPanel p1 = new JPanel();
        p1.setBackground( Color.lightGray );
        p1.add( l1 );
        tab.addTab( "General", null, p1, " Panel #1" );
        JButton exit = new JButton("Exit");
        // constructing the second panel
        JLabel l2 = new JLabel("Change Company Name", SwingConstants.CENTER);
        JPanel p2 = new JPanel();
        p2.setBackground( Color.lightGray );
        p2.add( l2 );
        tab.addTab( "Options", null, p2, " Panel #2" );
        // constructing the third panel
        JLabel l3 = new JLabel( " " );
        JPanel p3 = new JPanel();
        p3.setBackground( Color.lightGray );
        tab.addTab( "Customers", null, p3, " Panel #3" );
        // constructing the fourth panel
        JLabel l4 = new JLabel( " " );
        JPanel p4 = new JPanel();
        p4.setBackground( Color.lightGray );
        p4.add( l4 );
        tab.addTab( "Contractors", null, p4, " Panel #4" );
        // constructing the fifth panel
        JLabel l5 = new JLabel( " " );
        JPanel p5 = new JPanel();
        p5.setBackground( Color.lightGray );
        p5.add( l5 );
        tab.addTab( "Pools", null, p5, " Panel #5" );
        // constructing the sixth panel
        JLabel l6 = new JLabel(" ");
        JPanel p6 = new JPanel();
        p6.setBackground( Color.lightGray );
        p6.add(l6);
        tab.addTab("Hot Tubs", null, p6, "Panel #6" );
        // constructing the seventh panel
        JLabel l7 = new JLabel("  ");
        JPanel p7 = new JPanel();
        p7.setBackground( Color.lightGray );
        p7.add(l7);
        tab.addTab("Temp Calc", null, p7, "Panel #7" );
        // constructing the eighth panel
        JLabel l8 = new JLabel(" ");
        JPanel p8 = new JPanel();
        p8.setBackground( Color.lightGray );
        p8.add(l8);
        tab.addTab("Length Calc",  null, p8, "Panel #8" );
        JButton test = new JButton("Exit"); 
        p1.add(test);
        // add JTabbedPane to container
        getContentPane().add( tab );
        setSize( 350, 300 );
        setLocation(300, 250);
        setVisible( true );
    }
    public static void main( String args[] ) {
        {
            JavaTabs tabs = new JavaTabs();
            tabs.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        }
    }
}