import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; public class DemoCardLayout { public static void main(String[] args) { JFrame jFrame = new JFrame("CardLayout窗体"); Container container = jFrame.getContentPane(); JButton button1 = new JButton("员工信息"); JButton button2 = new JButton("员工考勤"); JButton button3 = new JButton("支出"); CardLayout cardLayout = new CardLayout(); //用于显示 JPanel jPanel = new JPanel(); JPanel jPanelButton = new JPanel(); //设置显示面板布局为卡片布局 jPanel.setLayout(cardLayout); //向JPanel添加FlowLayout布局管理器,将组件间的横向和纵向间隙都设置为20像素 //FlowLayout(int align, int hgap,int vgap)组件对齐方式以及横纵隔距离 jPanelButton.setLayout(new FlowLayout(FlowLayout.LEADING,20,20)); //设置按钮面板背景色 jPanelButton.setBackground(Color.cyan); //设置显示面板和按钮面板的布局位置 container.add(jPanel,BorderLayout.CENTER); container.add(jPanelButton,BorderLayout.NORTH); //把按钮组件放进 jPanelButton面板 jPanelButton.add(button1); jPanelButton.add(button2); jPanelButton.add(button3); //创建用于显示的面板 JPanel jPanel1 = new JPanel(); JPanel jPanel2 = new JPanel(); JPanel jPanel3 = new JPanel(); //在每个字面板插入标签 jPanel1.add(new JLabel("第一个card")); jPanel2.add(new JLabel("第二个card")); jPanel3.add(new JLabel("第三个card")); //把三个字面板组件放进显示面板 jPanel.add(jPanel1,"1"); jPanel.add(jPanel2,"2"); jPanel.add(jPanel3,"3"); //设置显示面板布局为卡片布局 button1.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardLayout.previous(jPanel); } }); button2.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardLayout.show(jPanel,"2"); } }); button3.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { cardLayout.next(jPanel); } }); jFrame.setSize(1200,700); jFrame.setVisible(true); jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } }
版权声明:本文为Evan364原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。