java容器:JTabbedPanel(标签面板) ----的基本用法
类头public class JTabbedPane extends JComponentimplements Serializable, Accessible, SwingConstants{}构造方法public JTabbedPane()创建一个空的 TabbedPane ,默认标签位置为 JTabbedPane.TOPpublic JTabbedPane(int t...
类头
public class JTabbedPane extends JComponent implements Serializable, Accessible, SwingConstants{}
构造方法
public JTabbedPane()
创建一个空的 TabbedPane ,默认标签位置为JTabbedPane.TOP
public JTabbedPane(int tabPlacement)
创建空 TabbedPane与任一指定的选项卡放置:JTabbedPane.TOP , JTabbedPane.BOTTOM , JTabbedPane.LEFT ,或 JTabbedPane.RIGHT 。
public JTabbedPane(int tabPlacement,int tabLayoutPolicy)
创建一个空的TabbedPane与指定的选项卡布局和选项卡布局策略。标签布局策略可以是:JTabbedPane.WRAP_TAB_LAYOUT或JTabbedPane.SCROLL_TAB_LAYOUT 。
重要方法:(下面所指便签是面板)
//事件相关的方法
-
public void addChangeListener(ChangeListener l)
添加一个 ChangeListener为此tabbedpane。 -
public void removeChangeListener(ChangeListener l)
从此 ChangeListener中移除ChangeListener。
//与标签位置相关的方法
public int getTabPlacement()
返回此标签页窗格的标签页的位置。 对应的:public void
setTabPlacement(int tabPlacement)
设置此标签页窗格的标签位置。 可能的值是JTabbedPane.TOP ,JTabbedPane.BOTTOM , JTabbedPane.LEFT,JTabbedPane.RIGHT 。默认值(如果未设置)为SwingConstants.TOP 。
//与当前选择标签相关的方法
-
public int getSelectedIndex()
返回此选项卡窗格的当前选择的索引。 如果没有当前选择的选项卡,则返回-1。 -
public void setSelectedIndex(int index)
设置此选项卡窗格的所选索引。 索引必须是有效的选项卡索引或-1,表示不应选择任何选项卡(也可以在标签页窗格中没有选项卡时使用)。 如果在tabbedpane包含一个或多个选项卡时指定了-1值,则结果将被实现定义。 -
public Component getSelectedComponent()
返回此选项卡窗格当前选定的组件。 如果没有当前选择的选项卡,则返回null 。 -
public void setSelectedComponent(Component c)
设置此选项卡窗格的选定组件。 这将自动将selectedIndex
设置为与selectedIndex
对应的索引。
//与增加标签相关的方法
public void insertTab(String title,Icon icon,Component component, String tip, int index)
在给定的索引上插入给定组件的新选项卡,由给定的标题和/或图标表示,其中任一个可能为 null 。
title
- 标签上显示的标题
icon
- 要在标签上显示的图标
component
- 单击此选项卡时要显示的组件。
tip
- 要为此选项卡显示的工具提示
index
- 插入新标签的位置( > 0 and <= getTabCount() )
注意:对应的有addTab方法
public void addTab(String title, Icon icon, Component component, String tip)
而且此方法的参数一个依此1个2个3个到最多的4个
//与删除标签相关的方法
-
public void removeTabAt(int index)
删除index位置的标签 。 该组件其可见性将重置为true,以确保在添加到其他容器时可见。 即此时删除的标签只是取消关联,并不删除组件 -
public void remove(Component component)
删除指定的Component从JTabbedPane 。 如果component为null,该方法不执行任何操作。 结果组件不复存在。对应的有public void remove(int index)
-
public void removeAll()
从 tabbedpane删除所有选项卡及其相应的 tabbedpane 。
//与选项卡数目有关的方法
-
public int getTabCount()
返回此 tabbedpane中的选项卡数。 -
public int getTabRunCount()
返回当前用于显示选项卡的选项卡运行次数。
//背景色和前景色
-
public Color getBackgroundAt(int index)
返回标签背景颜色 index 。 -
public Color getForegroundAt(int index)
返回标签前景色为 index 。 -
public void setBackgroundAt(int index, Color background)
在设置背景颜色index到background可以是null ,在这种情况下选项卡的背景色默认为背景颜色tabbedpane 。 如果该索引中没有选项卡,则会引发内部异常。 -
public void setForegroundAt(int index, Color foreground)
将前景色设置为index至foreground ,可以为null ,…
//与所选标签是否可用的方法
-
public void setEnabledAt(int index,boolean enabled)
设置是否启用index的选项卡。 如果该索引中没有选项卡,则会引发内部异常。
参数
index
- 应该启用/禁用的选项卡索引
enabled
- 是否应启用该选项卡 -
public void setComponentAt(int index, Component component)
将组件设置为component至index 。 如果该索引中没有选项卡,则会引发内部异常。
参数
index
- 要放置此组件的选项卡索引
component
- 选项卡的组件
设置快捷键
public void setMnemonicAt(int tabIndex, int mnemonic)
参数
tabIndex
- 助记符所指的标签的索引
mnemonic
- 表示助记符的关键代码
//设置标签页名字的字体
setFont(font)
实例
package com.layoutPackage;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import java.awt.*;
import java.awt.event.KeyEvent;
public class JTabPanel {
JFrame jFrame = new JFrame("JTabPanel Demo");
Container contentPane;
JTabbedPane jTabbedPane;
int jPanelLabNum = 6;
//加于jTabbedPane的五张面板
JPanel[] jPanels = new JPanel[5];
public static void main(String[] args) {
JTabPanel jTabPanel = new JTabPanel();
jTabPanel.go();
}
public void go(){
contentPane = jFrame.getContentPane();
jTabbedPane = new JTabbedPane(JTabbedPane.TOP);
contentPane.add(jTabbedPane);
designPanel();
jFrame.setDefaultCloseOperation(3);
jFrame.setVisible(true);
jFrame.setBounds(500, 50, 700, 550);
}
protected void designPanel(){
//创建面板
jPanels[0] = new JPanel();
jPanels[1] = new JPanel();
jPanels[2] = new JPanel();
jPanels[3] = new JPanel();
jPanels[4] = new JPanel();
//设置面板的背景色
jPanels[0].setBackground(Color.RED);
jPanels[1].setBackground(Color.BLUE);
jPanels[2].setBackground(Color.GREEN);
jPanels[3].setBackground(Color.YELLOW);
jPanels[4].setBackground(Color.CYAN);
//将面板加入jTabbedPanel中
jTabbedPane.add("Panel 1", jPanels[0]);
jTabbedPane.add("Panel 2", jPanels[1]);
jTabbedPane.add("Panel 3", jPanels[2]);
jTabbedPane.add("Panel 4", jPanels[3]);
jTabbedPane.add("Panel 5", jPanels[4]);
jTabbedPane.add("Lable 1", new JLabel("This is a 1 Lable"));
Font font = new Font("华文彩云", Font.BOLD, 15);
//设置标签页名字的字体
jTabbedPane.setFont(font);
//设置标签也对应的快捷键
jTabbedPane.setMnemonicAt(0, KeyEvent.VK_1);
jTabbedPane.setMnemonicAt(1, KeyEvent.VK_2);
jTabbedPane.setMnemonicAt(2, KeyEvent.VK_3);
jTabbedPane.setMnemonicAt(3, KeyEvent.VK_4);
jTabbedPane.setMnemonicAt(4, KeyEvent.VK_5);
jTabbedPane.setMnemonicAt(5, KeyEvent.VK_6);
//设置不可选中的标签页
jTabbedPane.setEnabledAt(2, false); //设置3个标签页不可选
//设置标签页的背景色
jTabbedPane.setBackground(Color.BLACK);
//设置标签页的前景色
jTabbedPane.setForegroundAt(0, Color.RED);
jTabbedPane.setForegroundAt(1, Color.BLUE);
jTabbedPane.setForegroundAt(2, Color.GREEN);
jTabbedPane.setForegroundAt(3, Color.YELLOW);
jTabbedPane.setForegroundAt(4, Color.CYAN);
jTabbedPane.setForegroundAt(5, null);
//设置标签面板的changeListener,注册事件
jTabbedPane.addChangeListener(new ChangeListener() {
@Override
public void stateChanged(ChangeEvent e) {
System.out.println("这是第:" + (jTabbedPane.getSelectedIndex() + 1) + " 个标签页: " );
}
});
}
}
运行结果如图
更多推荐
所有评论(0)