📄 tabbedpanetest.java
字号:
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;
import javax.swing.border.*;
public class TabbedPaneDemo extends JFrame implements ActionListener
{
private JTabbedPane m_tabbedPane;
private JButton m_topButton;
private JButton m_bottomButton;
private JButton m_leftButton;
private JButton m_rightButton;
private JButton m_addButton;
private JButton m_removeButton;
public TabbedPaneDemo()
{
super("TabbedPane test");
JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new GridLayout(1,6));
m_topButton = new JButton("顶部");
m_bottomButton = new JButton("底部");
m_leftButton = new JButton("左边");
m_rightButton = new JButton("右边");
m_addButton = new JButton("添加选项卡");
m_removeButton = new JButton("删除选项卡");
//添加事件监听器
m_topButton.addActionListener(this);
m_bottomButton.addActionListener(this);
m_leftButton.addActionListener(this);
m_rightButton.addActionListener(this);
m_addButton.addActionListener(this);
m_removeButton.addActionListener(this);
//把四个功能按钮加入功能按钮面板中
buttonPanel.add(m_topButton);
buttonPanel.add(m_bottomButton);
buttonPanel.add(m_leftButton);
buttonPanel.add(m_rightButton);
buttonPanel.add(m_addButton);
buttonPanel.add(m_removeButton);
//把选项卡窗格容器和功能按钮面板加入到内容窗格容器中
m_tabbedPane = new JTabbedPane(SwingConstants.TOP);
getContentPane().add("South", buttonPanel);
getContentPane().add("Center", m_tabbedPane);
//创建三个选项卡
createTab();
createTab();
createTab();
//设置显示第一个选项卡
m_tabbedPane.setSelectedIndex(0);
}
public void createTab()
{
JLabel label = null;
switch (m_tabbedPane.getTabCount()%3) {
case 0:
label = new JLabel("Tab #" + m_tabbedPane.getTabCount(), SwingConstants.CENTER);
break;
case 1:
label = new JLabel("Tab #" + m_tabbedPane.getTabCount(),SwingConstants.CENTER);
break;
case 2:
label = new JLabel("Tab #" + m_tabbedPane.getTabCount(),SwingConstants.CENTER);
break;
}
label.setVerticalTextPosition(SwingConstants.BOTTOM);
label.setHorizontalTextPosition(SwingConstants.CENTER);
label.setOpaque(true);
label.setBackground(Color.white);
//把新创建的选项卡添加到选项卡容器中
m_tabbedPane.addTab("Tab #" + m_tabbedPane.getTabCount(),label);
}
//删除选项卡
public void deleteTab()
{
//删除最后一个选项卡
if (m_tabbedPane.getTabCount() > 0)
m_tabbedPane.removeTabAt(m_tabbedPane.getTabCount()-1);
}
//处理按钮事件
public void actionPerformed(ActionEvent e)
{
if (e.getSource() == m_topButton)
m_tabbedPane.setTabPlacement(SwingConstants.TOP);
else if(e.getSource() == m_bottomButton)
m_tabbedPane.setTabPlacement(SwingConstants.BOTTOM);
else if(e.getSource() == m_leftButton)
m_tabbedPane.setTabPlacement(SwingConstants.LEFT);
else if(e.getSource() == m_rightButton)
m_tabbedPane.setTabPlacement(SwingConstants.RIGHT);
else if(e.getSource() == m_addButton)
createTab();
else if(e.getSource() == m_removeButton)
deleteTab();
//重新绘制选项卡容器
m_tabbedPane.revalidate();
m_tabbedPane.repaint();
}
//程序的入口方法
public static void main(String[] args) {
TabbedPaneDemo f=new TabbedPaneDemo();
//设置框架窗体的事件监听(关闭窗体事件)
f.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
//显示框架窗体
f.pack();
f.show();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -