⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tabbedpanetest.java

📁 这是java 2应用开发指南这本书上所有例子的源代码
💻 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 + -