import java.awt.CardLayout;import java.awt.event.*;import javax.swing.*;public class ChangePic extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; public JButton btnFir, btnLast, btnBef, btnNext; CardLayout card = new CardLayout(); public JPanel p, pTop, p1, p2, p3, p4; public JLabel lb1, lb2, lb3, lb4; String imgpath[] = { "D:/图片/hx/01[1].gif", "D:/图片/hx/02[1].gif", "D:/图片/hx/03[1].gif", "D:/图片/hx/04[1].gif" }; public ChangePic() {initCom(); } public void initCom() {btnFir = new JButton("第一张");btnLast = new JButton("最后一张");btnBef = new JButton("上一张");btnNext = new JButton("下一张");btnFir.addActionListener(this);btnLast.addActionListener(this);btnBef.addActionListener(this);btnNext.addActionListener(this);p = new JPanel();pTop = new JPanel();p1 = new JPanel();p2 = new JPanel();p3 = new JPanel();p4 = new JPanel();lb1 = new JLabel();lb1.setIcon(new ImageIcon(imgpath[0]));lb2 = new JLabel();lb2.setIcon(new ImageIcon(imgpath[1]));lb3 = new JLabel();lb3.setIcon(new ImageIcon(imgpath[2]));lb4 = new JLabel();lb4.setIcon(new ImageIcon(imgpath[3]));p1.add(lb1);p2.add(lb2);p3.add(lb3);p4.add(lb4);pTop.setLayout(card); // 卡片布局pTop.add(p1, "p1");pTop.add(p2, "p2");pTop.add(p3, "p3");pTop.add(p4, "p4");card.show(pTop, "p1");p.add(pTop);p.add(btnFir);p.add(btnBef);p.add(btnNext);p.add(btnLast);this.add(p);this.setSize(200, 400);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } public void actionPerformed(ActionEvent e) {JButton btn = (JButton) e.getSource();if (btn == btnFir) { card.first(pTop); // 展示第一个面板} else if (btn == btnLast) { card.last(pTop);// 展示最后一个面板} else if (btn == btnBef) { card.previous(pTop);// 展示上个面板} else if (btn == btnNext) { card.next(pTop);// 展示下个面板} } public static void main(String[] args) {new ChangePic(); }}我记得好像回答过一次这个问题,我这是4幅图片的.
|