日期:2014-05-20 浏览次数:21092 次
import java.awt.Dimension;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.BorderFactory;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
public class TabPane {
private JPanel pane1,pane2,pane3;
private JTabbedPane tabbedPane;
private int count;
TabPane(){
JFrame jf=new JFrame();
jf.setSize(520,500);
Dimension screen = jf.getToolkit().getScreenSize();//获取屏幕大小
jf.setLocation(screen.width/2-jf.getSize().width/2,screen.height/2-jf.getSize().height/2);//设置程序居中显示
tabbedPane = new JTabbedPane(JTabbedPane.TOP);//切换面边标题在上面
pane1=new JPanel();
pane2=new JPanel();
pane3=new JPanel();
count=3;
tabbedPane.addTab("1",null,pane1,"第1个Tab");//加入面板,实现多面板切换
tabbedPane.addTab("2",null,pane2,"第2个Tab");
tabbedPane.addTab("3",null,pane3,"第3个Tab");
tabbedPane.addTab("+",null,null,"添加新面板");
tabbedPane.addMouseListener(new MouseAdapter() {//选项卡点击事件
public void mouseClicked(MouseEvent arg0) {
addtab();//调用addtab方法
}
});
tabbedPane.setBorder(BorderFactory.createEmptyBorder(35,0,0,0));//设置tabPane与周边的距离
jf.add(tabbedPane);
jf.setVisible(true);
}
public void addtab(){
if(tabbedPane.getSelectedComponent()==null){
JPanel newpane=new JPanel();//新的面板
count++;
tabbedPane.removeTabAt(tabbedPane.getTabCount()-1);
tabbedPane.addTab(count+"",null,newpane,"第"+count+"个Tab");
tabbedPane.addTab("+",null,null,"添加新面板");
}
}
public static void main(String[] args){
new TabPane();
}
}