您的位置:首页 > 编程语言 > Java开发

Java应用技巧——为JTabbedPane添加关闭按钮

2010-01-02 17:07 375 查看
JTabbedPane组件

 

 

 

很多人都为无法在JTabbedPane的标题上添加关闭按钮而苦恼。其实从Java SE 6开始,这个问题已经解决了,看下面这个例子:

//文件名: tab.java

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;

class tab extends JFrame
{
tab()
{
super("选项卡窗格");
setVisible(true);
setSize(500,310);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

JButton btn = new JButton("X");
JTabbedPane pane = new JTabbedPane();
JLabel lab = new JLabel("选项卡I");
pane.addTab("i",lab);
pane.setTabComponentAt(pane.indexOfComponent(lab),btn);
add(pane);
}
public static void main(String[] args)
{
new tab();
}
}


 

    运行结果如下:

 


    请注意,标题上不是文本,是一个按钮。起作用的是第22行的代码:

pane.setTabComponentAt(pane.indexOfComponent(lab),btn);

在这里,我要向大家介绍JTabbedPane类的三个方法:

    void setTabComponentAt(int index,Compomnent component)

    ——该方法用于给指定index的选项卡标题添加控件,空间可以是任何类型,只要是Component的子类。如果index超出范围,则抛出IndexOutOfBoundsException异常。若选项卡标题上已经有Component组件,则抛出IllegalArgumentException异常。

    Component getTabComponent(int index)

    ——该方法用于获取指定index的选项卡标题上的控件。如果index超出范围,则抛出IndexOutOfBoundsException异常。

    int indexOfTabComponent(Component component)

    ——该方法用于获取标题空间为component的选项卡序号。若没有符合要求的选项卡,则返回-1。

使用这三个方法,就可以设置选项卡标题上的组建了。如果设置为JPanel类型,还可以添加多个组件,这也就不用再为无法添加关闭按钮而郁闷了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java import string class null