我的 Java 窗格中有 8 个选项卡,我需要每个选项卡都有一个退出按钮,该按钮将关闭该选项卡而不是整个程序。我只能在一个选项卡上获得按钮,但还没有弄清楚如何使它工作。到目前为止,这是我的代码:
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 );
}
}
}