代码实现效果如下
主界面的类如下
import java.awt.Component;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.InputEvent;
import java.awt.event.KeyEvent;
import javax.swing.JCheckBoxMenuItem;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import test.ButtonTabComponent;
public class TabComponentsDemo extends JFrame{
private JTabbedPane pane = new JTabbedPane();
private JMenuItem scrollTabItem ;
private JMenuItem componentTabItem;
private final int numTab = 5;
public TabComponentsDemo(String title) {
//设置frame标题名
super(title);
//设置关闭方式
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//创建菜单栏
initMenu();
//将tabpane添加到frame中
add(pane);
}
//初始化tabpanel相关配置,并且用于resize的调用
public void runTest() {
//设置有关闭按键的标签
componentTabItem.setSelected(true);
//设置标签
for(int i = 0 ; i < numTab ; i++)
{
//标签名
String name = "tab "+i;
//创建标签
pane.add(name,createContent(name));
//初始化标签上的文字和Button
initTabComponent(i);
}
<