Java中的高级组件面板——JTabbedPane(选项卡面板)

在Java的GUI设计中,如果要想实现在一个窗体中多个界面并且能在这些界面内可以随意切换,那选项卡面板绝对是最佳的选择,下面将具体介绍JTabbedPane的使用方法

使用方法介绍

1. 首先,需要导入JTabbedPane类,即在开头添加下行所示的代码:

import javax.swing.JTabbedPane

2. 其次,便是创建JTabbedPane的实例,JTabbedPane的构造方法有如下三种:

//创建一个默认的选项卡面板,标签位于选项卡的上面(JTabbedPane.TOP)
JTabbedPane()

//创建一个指定了标签放置位置的选项卡面板
/*标签放置的位置四种,即tabPlacement的值有四个,具体的值为:
	JTabbedPane.TOP(标签位于上方)
	JTabbedPane.BOTTOM(标签位于底部)
	JTabbedPane.LEFT(标签位位于左部)
	JTabbedPane.RIGHT(标签位于右部)
*/
JTabbedPane(int tabPlacement)

//创建一个即指定了标签放置位置,也指定了标签的布局方式的选项卡面板
/*标签的布局方式有两种:
	WRAP_TAB_LAYOUT(默认,标签比较少窗体能够全部显示标签时使用)
	SCROLL_TAB_LAYOUT(滚动布局,标签比较多时使用)
*/
JTabbedPane(int tabPlacement, int tabLayoutPolicy)

3. 实现自己要添加到窗体的面板,这一步就需要根据自己的需要来自行设计和实现了,每个面板的设计与实现与GUI中单独的Panel的实现是相同的,这里不做详细阐述

4. 将自己的面板添加到选项卡面板中去,添加方法常用的为:

//title为面板(选项卡)的标签,component为面板(选项卡)实例
void addTab​(String title, Component component)

5. 将选项卡面板实例添加到窗体实例中去。

代码示例

在该示例代码中,我创建了在一个窗体中添加了JTabbedPane面板并往该面板中添加了两个选项卡,每个选项卡都添加了一个JLabel用来标识该选项卡,通过点击标签即可切换到对应的面板

import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

public class Test{
	JFrame f;
	JPanel jp1,jp2;
	JLabel jlab1,jlab2;
	JTabbedPane jtbp;
	
	Test()
	{
		f=new JFrame("选项卡面板测试");
		jp1=new JPanel();//面板1(选项卡1)
		jp2=new JPanel();//面板2(选项卡2)
		
		jlab1=new JLabel("选项卡A");
		jlab2=new JLabel("选项卡B");
		
		jtbp=new JTabbedPane();//采用默认的选项卡面板
	}
	
	public void displayWindow()
	{
		jp1.setLayout(new BorderLayout());//设置为BorderLayout布局管理器
		jp2.setLayout(new BorderLayout());
		jp1.add(jlab1);
		jp2.add(jlab2);
		jtbp.addTab("选项卡A", jp1);//添加选项卡进选项卡面板
		jtbp.addTab("选项卡2", jp2);
		
		f.setContentPane(jtbp);
		f.setSize(400, 300);
		f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		f.setVisible(true);
	}
	
	public static void main(String []args)
	{
		new Test().displayWindow();
	}
}

代码运行结果展示

选项卡A 选项卡B

发布了16 篇原创文章 · 获赞 18 · 访问量 4128

猜你喜欢

转载自blog.csdn.net/qq_42103091/article/details/103746492