JAVA GUI学习

 1 public class JTabbedPaneKnow extends JFrame
 2 {
 3     JTabbedPane jTabbedPane;
 4     JPanel jPanelRed;
 5     JPanel jPanelGreen;
 6     JPanel jPanelYellow;
 7     JPanel jPanelBlue;
 8     public JTabbedPaneKnow()
 9     {
10         init();
11         this.setBounds(200, 50, 500, 500);
12         this.setTitle("选项卡 - 知识");
13         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
14         
15         this.add(jTabbedPane);
16     }
17     public void init()
18     {
19         jPanelBlue = new JPanel();jPanelBlue.setBackground(Color.blue);jPanelBlue.setName("蓝色卡牌");
20         jPanelGreen = new JPanel();jPanelGreen.setBackground(Color.green);jPanelGreen.setName("绿色卡牌");
21         jPanelRed = new JPanel();jPanelRed.setBackground(Color.red);jPanelRed.setName("红色卡牌");
22         jPanelYellow = new JPanel();jPanelYellow.setBackground(Color.yellow);jPanelYellow.setName("黄色卡牌");
23         
24         //第一个参数:选项卡的标题所在位置:上下左右
25         //第二个参数:即选项卡呈现的方式:当窗口变小时:卡标题向下排列,或不重排列出现滚动条
26         jTabbedPane = new JTabbedPane(JTabbedPane.TOP,JTabbedPane.SCROLL_TAB_LAYOUT);
27         
28         //第一个参数:即选项卡显示的标题
29         //第二个参数:即选项卡没张卡对应的面板
30         jTabbedPane.add("蓝色卡牌", jPanelBlue);jTabbedPane.add("绿色卡牌", jPanelGreen);
31         jTabbedPane.add("红色卡牌", jPanelRed);jTabbedPane.add("黄色卡牌", jPanelYellow);
32         
33         //设置默认的选项卡页,方式一:通过选项卡的索引
34         jTabbedPane.setSelectedIndex(1);
35         
36         //设置默认的选项卡页,方式二:通过选项卡变量名
37         jTabbedPane.setSelectedComponent(jPanelGreen);
38         
39         //获取当前卡页的选项卡索引
40         int index = jTabbedPane.getSelectedIndex();
41         //获取当前卡页的选项卡面板
42         JPanel jPanel = (JPanel) jTabbedPane.getSelectedComponent();
43         System.out.println(jPanel.getName());
44         
45         //为选项卡添加监听器
46         jTabbedPane.addChangeListener(new JTabbedPaneChangeListener());
47     }
48     private class JTabbedPaneChangeListener implements ChangeListener
49     {
50         @Override
51         public void stateChanged(ChangeEvent e)
52         {
53             JTabbedPane jTabbedPane = (JTabbedPane) e.getSource();
54             JOptionPane.showMessageDialog(null, ((JPanel)jTabbedPane.getSelectedComponent()).getName()+":被打开了");
55         }
56     }
57     public static void main(String[] args)
58     {
59         JTabbedPaneKnow jTabbedPaneKnow = new JTabbedPaneKnow();
60         jTabbedPaneKnow.setVisible(true);
61     }
62 
63 }
原文地址:https://www.cnblogs.com/Wfei/p/3332638.html