JTabbedPane(3)

发布时间:2019-09-01 09:51:22编辑:auto阅读(1560)

    /*
    * TabbedPaneDemo.java requires one additional file:
    *   p_w_picpaths/middle.gif.
    */

    import javax.swing.JTabbedPane;
    import javax.swing.ImageIcon;
    import javax.swing.JLabel;
    import javax.swing.JPanel;
    import javax.swing.JFrame;
    import javax.swing.JComponent;
    import javax.swing.SwingUtilities;
    import javax.swing.UIManager;
    import java.awt.BorderLayout;
    import java.awt.Dimension;
    import java.awt.GridLayout;
    import java.awt.event.KeyEvent;
    import javax.swing.JButton;

    public class TabbedPaneDemo extends JPanel {
        public TabbedPaneDemo() {
            super(new GridLayout(1, 1));
    //        super();

            JTabbedPane tabbedPane = new JTabbedPane();
            ImageIcon icon = createImageIcon("p_w_picpaths/middle.gif");

            JComponent panel1 = makeTextPanel("Panel #1","标签1");//增加一个选项卡
            tabbedPane.addTab("Tab 1", icon, panel1,
                    "Does nothing");
            tabbedPane.setMnemonicAt(0, KeyEvent.VK_1);


            JComponent panel2 = makeTextPanel("Panel #2","标签2");
            tabbedPane.addTab("Tab 2", icon, panel2,
                    "Does twice as much nothing");
            tabbedPane.setMnemonicAt(1, KeyEvent.VK_2);

            JComponent panel3 = makeTextPanel("Panel #3","标签3");
            tabbedPane.addTab("Tab 3", icon, panel3,
                    "Still does nothing");
            tabbedPane.setMnemonicAt(2, KeyEvent.VK_3);

            JComponent panel4 = makeTextPanel(
                    "Panel #4 (has a preferred size of 410 x 50).","标签4");
            panel4.setPreferredSize(new Dimension(410, 50));
            tabbedPane.addTab("Tab 4", icon, panel4,
                    "Does nothing at all");
            tabbedPane.setMnemonicAt(3, KeyEvent.VK_4);
            JComponent panel5 = makeTextPanel("Panel #5","标签5");
            panel5.setPreferredSize(new Dimension(410,50));
            tabbedPane.addTab("标签5", icon,panel5,"测试用标签");

            //Add the tabbed pane to this panel.
            add(tabbedPane);

            //The following line enables to use scrolling tabs.
            tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);

        }

        protected JComponent makeTextPanel(String text,String buttons) {//制定的组件
            JPanel panel = new JPanel(false);
            JLabel filler = new JLabel(text);
            JButton button = new JButton(buttons);
            filler.setHorizontalAlignment(JLabel.CENTER);
    //        panel.setLayout(new GridLayout(1, 1));
            panel.add(filler);
            panel.add(button);
            return panel;
        }

        /** Returns an ImageIcon, or null if the path was invalid. */
        protected static ImageIcon createImageIcon(String path) {
            java.net.URL imgURL = TabbedPaneDemo.class.getResource(path);
            if (imgURL != null) {
                return new ImageIcon(imgURL);
            } else {
                System.err.println("Couldn't find file: " + path);
                return null;
            }
        }

        /**
         * Create the GUI and show it. For thread safety,
         * this method should be invoked from
         * the event dispatch thread.
         */
        private static void createAndShowGUI() {
            //Create and set up the window.
            JFrame frame = new JFrame("TabbedPaneDemo");
            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

            //Add content to the window.
            frame.add(new TabbedPaneDemo(), BorderLayout.CENTER);

            //Display the window.
            frame.pack();
            frame.setVisible(true);
        }

        public static void main(String[] args) {
            //Schedule a job for the event dispatch thread:
            //creating and showing this application's GUI.
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    //Turn off metal's use of bold fonts
            UIManager.put("swing.boldMetal", Boolean.FALSE);
            createAndShowGUI();
                }
            });
        }
    }

关键字

上一篇: H3C模拟器安装

下一篇: Python的函数参数