重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先js是不大可能控制选项卡的,再说每种浏览器也都有不一样的选项卡模式,你通过api去实现不太可能。
创新互联建站是一家集网站建设,嘉禾企业网站建设,嘉禾品牌网站建设,网站定制,嘉禾网站建设报价,网络营销,网络优化,嘉禾网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
你可以转换思路,不要用真正的选项卡,而是自己写一个类似于选项卡的页面,可以点击切换页面等等。点击切换选项卡或提交按钮时ajax加载你想要的内容就可以了。
swing里
JTabbedPane
下面一个例子:
其中private JTabbedPane tabs = new JTabbedPane();这句是实例化一个选项卡tabs,
tabs.addTab(colorNames[i],panel); 这句是向tabs里加一个页面。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
public class TabbedPaneDemo extends JFrame {
private String[] colorNames = {
"red", "blue", "green", "black",
"yellow", "pink", "white"};
private Color[] colors = {
Color.RED, Color.BLUE, Color.GREEN, Color.BLACK,
Color.YELLOW, Color.PINK, Color.WHITE};
private JTabbedPane tabs = new JTabbedPane();
//private JTabbedPane tabs = new JTabbedPane(JTabbedPane.BOTTOM,
// JTabbedPane.SCROLL_TAB_LAYOUT );
private JTextField txt = new JTextField(20);
public TabbedPaneDemo(String title) {
super(title);
for(int i = 0; i colors.length; i++){
JPanel panel=new JPanel();
panel.setBackground(colors[i]);
tabs.addTab(colorNames[i],panel); //加入一个页面
}
tabs.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
txt.setText("Tab selected: " +
tabs.getSelectedIndex());
}
});
Container contentPane = getContentPane();
contentPane.add(BorderLayout.SOUTH, txt);
contentPane.add(tabs);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
pack();
setVisible(true);
}
public static void main(String[] args) {
new TabbedPaneDemo("Hello");
}
}
一、你可以用Java自带的组件,叫tablepanel还是什么的,一下记不清了,就可以切换选项卡;
二、自己写两个按钮或什么,添加监听,点击按钮的时候,将第需要切换的面板里面的组件移除,再添加你需要显示的那个组件,然后在refresh刷新一次整个窗口
给你个例子希望帮到你,用监听做的,你可以琢磨下。
package xzfx.haveAtry;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;
/**
*
* @author guy
* @company yesoft
* @date 2009-1-16
*/
public class TabbedPanelShutTry implements ActionListener{
private JFrame frame;
private JTabbedPane tabbedPane;
private JButton addTabButton;
private ImageIcon closexIcon;
private Dimension closeButtonSize;
private int tabCounter = 0;
public TabbedPanelShutTry()
{
tabbedPane = new JTabbedPane();
addTabButton = new JButton("add tab");
addTabButton.addActionListener(this);
frame = new JFrame();
closexIcon = new ImageIcon("c:/shut.jpg");
closeButtonSize = new Dimension(closexIcon.getIconWidth()+2,closexIcon.getIconHeight()+2);
frame.add(tabbedPane,BorderLayout.CENTER);
frame.add(addTabButton,BorderLayout.SOUTH);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setMinimumSize(new Dimension(300,300));
frame.setVisible(true);
}
public void actionPerformed(ActionEvent e) {
final JPanel content = new JPanel();
JPanel tab = new JPanel();
tab.setOpaque(false);
JLabel tablabel = new JLabel("tab"+(++tabCounter));
JButton tabCloseButton = new JButton(closexIcon);
tabCloseButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int closerTabNumber = tabbedPane.indexOfComponent(content);
System.out.println(closerTabNumber);
tabbedPane.removeTabAt(closerTabNumber);
}
});
tab.add(tablabel,BorderLayout.WEST);
tab.add(tabCloseButton,BorderLayout.EAST);
tabbedPane.addTab(null, content);
tabbedPane.setTabComponentAt(tabbedPane.getTabCount()-1, tab);
}
public static void main(String[] args)
{
TabbedPanelShutTry main = new TabbedPanelShutTry();
}
}
你可以试试设置一个变量区别不同的头部,当你点击时,触发后在触发器里面进行设置。