Java将其他类的JPanels添加到cardLayout

Java将其他类的JPanels添加到cardLayout,第1张

Java将其他类的JPanels添加到cardLayout

我做了一个小程序,希望程序中写的注释可以指导你了解如何使用CardLayout。

import java.awt.*;import java.awt.event.*;import javax.swing.*;public class CardLayoutTest{    private static final String CARD_JBUTTON =  "Card JButton";    private static final String CARD_JTEXTFIELD = "Card JTextField";        private static final String CARD_JRADIOBUTTON = "Card JRadioButton";    private static void createAndShowGUI()    {        Jframe frame = new Jframe("Card Layout Test");        frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);        frame.setLocationRelativeTo(null);        // This JPanel is the base for CardLayout for other JPanels.        final JPanel contentPane = new JPanel();        contentPane.setLayout(new CardLayout(20, 20));                Window1 win1 = new Window1();        contentPane.add(win1, CARD_JBUTTON);        Window2 win2 = new Window2();        contentPane.add(win2, CARD_JTEXTFIELD);        Window3 win3 = new Window3();        contentPane.add(win3, CARD_JRADIOBUTTON);                JPanel buttonPanel = new JPanel();         final JButton previousButton = new JButton("PREVIOUS");        previousButton.setBackground(Color.BLACK);        previousButton.setForeground(Color.WHITE);        final JButton nextButton = new JButton("NEXT");        nextButton.setBackground(Color.RED);        nextButton.setForeground(Color.WHITE);        buttonPanel.add(previousButton);        buttonPanel.add(nextButton);                previousButton.addActionListener(new ActionListener()        { public void actionPerformed(ActionEvent ae) {     CardLayout cardLayout = (CardLayout) contentPane.getLayout();     cardLayout.previous(contentPane); }        });        nextButton.addActionListener(new ActionListener()        { public void actionPerformed(ActionEvent ae) {     CardLayout cardLayout = (CardLayout) contentPane.getLayout();     cardLayout.next(contentPane);    }        });        // Adding the contentPane (JPanel) and buttonPanel to Jframe.        frame.add(contentPane, BorderLayout.CENTER);        frame.add(buttonPanel, BorderLayout.PAGE_END);        frame.pack();        frame.setVisible(true);    }    public static void main(String... args)    {        SwingUtilities.invokeLater(new Runnable()        { public void run() {     createAndShowGUI(); }        });    }} class Window1 extends JPanel{          private ActionListener action;    public Window1()     {        init();    }    private void init()     {        final JButton clickButton = new JButton("CLICK ME");        final JButton dontClickButton = new JButton("DON'T CLICK ME");  action = new ActionListener()        { public void actionPerformed(ActionEvent ae) {     if (ae.getSource() == clickButton)     {         JOptionPane.showMessageDialog(null, "Hello there dude!"    , "Right Button", JOptionPane.INFORMATION_MESSAGE);     }     else if (ae.getSource() == dontClickButton)     {         JOptionPane.showMessageDialog(null, "I told you not to click me!" , "Wrong Button", JOptionPane.PLAIN_MESSAGE);     } }        };        clickButton.addActionListener(action);        dontClickButton.addActionListener(action);        add(clickButton);        add(dontClickButton);    }}class Window2 extends JPanel implements ActionListener {          private JTextField textField;    public Window2()     {        init();    }    private void init()     {        setLayout(new GridLayout(1, 2));        JLabel userLabel = new JLabel("Your Name : ");        textField = new JTextField();        textField.addActionListener(this);        add(userLabel);        add(textField);    }    public void actionPerformed(ActionEvent e)     {         if (textField.getdocument().getLength() > 0) JOptionPane.showMessageDialog(null, "Your Name is : " + textField.getText()          , "User's Name : ", JOptionPane.QUESTION_MESSAGE);    }}class Window3 extends JPanel{          private ActionListener state;    public Window3()    {        init();    }    public void init()    {        setLayout(new GridLayout(2, 2));        JLabel maleLabel = new JLabel("MALE", JLabel.CENTER);        final JCheckBox maleBox = new JCheckBox();        JLabel femaleLabel = new JLabel("FEMALE", JLabel.CENTER);        final JCheckBox femaleBox = new JCheckBox();        state = new ActionListener()        { public void actionPerformed(ActionEvent ae) {     if (maleBox == (JCheckBox) ae.getSource())     {         femaleBox.setSelected(false);         JOptionPane.showMessageDialog(null, "Congrats you are a Male"    , "Gender : ", JOptionPane.INFORMATION_MESSAGE);}     else if (femaleBox == (JCheckBox) ae.getSource())     {         maleBox.setSelected(false);         JOptionPane.showMessageDialog(null, "Congrats you are a Female", "Gender : ", JOptionPane.INFORMATION_MESSAGE);       } }        };        maleBox.addActionListener(state);        femaleBox.addActionListener(state);        add(maleLabel);        add(maleBox);        add(femaleLabel);        add(femaleBox);    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5427455.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存