展开全部
主要是用JTabbedPane类来创建选项卡
给你一个代码参考一下,是《21天学通java》里面的,希望对你有用
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
public class KongJian7 extends JFrame implements ChangeListener
{
//创建3个选项卡窗格
private JTabbedPane jtp1=new JTabbedPane(JTabbedPane.LEFT);
private JTabbedPane jtp2=new JTabbedPane(JTabbedPane.TOP);
private JTabbedPane jtp3=new JTabbedPane(JTabbedPane.RIGHT);
//创建标签
JLabel jl=new JLabel("您选中了换行方式的选项卡0。",JLabel.CENTER);
public KongJian7()
{
//分别将选项卡窗格jtp2与jtp3添加进jtp1
jtp1.addTab("换行方式",jtp2);
jtp1.addTab("滚动方式",jtp3);
//为选项卡窗格jtp2与jtp3设置选项卡标签超过一行以后的处理策略
jtp2.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);
jtp3.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
//为选项卡面板jtp2与jtp3个添加20个选项卡
for(int i=0;i<5;i++)
{
jtp2.addTab("Tab"+i,new JLabel("这里是选项卡"+i,JLabel.CENTER));
jtp3.addTab("Tab"+i,new JLabel("这里是选项卡"+i,JLabel.CENTER));
}
//将选项卡窗格jtp1添加进窗体
this.add(jtp1);
//将标签添加进窗体
this.add(jl,BorderLayout.SOUTH);
//为三个选项卡窗格注册ChangeEvent事件监听器
jtp1.addChangeListener(this);
jtp2.addChangeListener(this);
jtp3.addChangeListener(this);
//设置窗体的标题、大小位置以及可见性
this.setTitle("选项卡示例");
this.setBounds(100,100,500,200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//实现ChangeListener监听接口中的事件处理方法
public void stateChanged(ChangeEvent e)
{
//获取外层选项卡窗格当前选中的选项卡索引
int indexOuter=jtp1.getSelectedIndex();
//获取内层选项卡窗格当前选中的选项卡索引
int indexInner=
((JTabbedPane)jtp1.getSelectedComponent()).getSelectedIndex();
//设置标签的内容
jl.setText("您选中了"+jtp1.getTitleAt(indexOuter)+"选项卡"+indexInner+"。");
}
public static void main(String[] args)
{
//创建Sample23_1窗体对象
KongJian7 kj=new KongJian7();
}
}
给你一个代码参考一下,是《21天学通java》里面的,希望对你有用
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
public class KongJian7 extends JFrame implements ChangeListener
{
//创建3个选项卡窗格
private JTabbedPane jtp1=new JTabbedPane(JTabbedPane.LEFT);
private JTabbedPane jtp2=new JTabbedPane(JTabbedPane.TOP);
private JTabbedPane jtp3=new JTabbedPane(JTabbedPane.RIGHT);
//创建标签
JLabel jl=new JLabel("您选中了换行方式的选项卡0。",JLabel.CENTER);
public KongJian7()
{
//分别将选项卡窗格jtp2与jtp3添加进jtp1
jtp1.addTab("换行方式",jtp2);
jtp1.addTab("滚动方式",jtp3);
//为选项卡窗格jtp2与jtp3设置选项卡标签超过一行以后的处理策略
jtp2.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);
jtp3.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
//为选项卡面板jtp2与jtp3个添加20个选项卡
for(int i=0;i<5;i++)
{
jtp2.addTab("Tab"+i,new JLabel("这里是选项卡"+i,JLabel.CENTER));
jtp3.addTab("Tab"+i,new JLabel("这里是选项卡"+i,JLabel.CENTER));
}
//将选项卡窗格jtp1添加进窗体
this.add(jtp1);
//将标签添加进窗体
this.add(jl,BorderLayout.SOUTH);
//为三个选项卡窗格注册ChangeEvent事件监听器
jtp1.addChangeListener(this);
jtp2.addChangeListener(this);
jtp3.addChangeListener(this);
//设置窗体的标题、大小位置以及可见性
this.setTitle("选项卡示例");
this.setBounds(100,100,500,200);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
//实现ChangeListener监听接口中的事件处理方法
public void stateChanged(ChangeEvent e)
{
//获取外层选项卡窗格当前选中的选项卡索引
int indexOuter=jtp1.getSelectedIndex();
//获取内层选项卡窗格当前选中的选项卡索引
int indexInner=
((JTabbedPane)jtp1.getSelectedComponent()).getSelectedIndex();
//设置标签的内容
jl.setText("您选中了"+jtp1.getTitleAt(indexOuter)+"选项卡"+indexInner+"。");
}
public static void main(String[] args)
{
//创建Sample23_1窗体对象
KongJian7 kj=new KongJian7();
}
}
参考资料: 《21天学通java》
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询