歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java使用卡片布局管理器

Java使用卡片布局管理器

日期:2017/3/1 10:16:09   编辑:Linux編程

Java使用卡片布局管理器:

  1. package com.han;
  2. import java.awt.BorderLayout;
  3. import java.awt.CardLayout;
  4. import java.awt.Container;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import javax.swing.JButton;
  8. import javax.swing.JFrame;
  9. import javax.swing.JLabel;
  10. import javax.swing.JPanel;
  11. import javax.swing.SwingConstants;
  12. /**
  13. * 使用卡片布局管理器
  14. * @author HAN
  15. *
  16. */
  17. public class CardLayout_1 extends JFrame {
  18. /**
  19. *
  20. */
  21. private static final long serialVersionUID = -5255525755443566487L;
  22. public CardLayout_1() {
  23. // TODO Auto-generated constructor stub
  24. Container container = getContentPane();
  25. final CardLayout cardLayout = new CardLayout();
  26. final JPanel cardPanel = new JPanel(cardLayout);
  27. String[] cardNames = { "卡片A", "卡片B", "卡片C" };
  28. for (int i = 0; i < cardNames.length; i++) {
  29. // JLabel label = new JLabel(cardNames[i]);
  30. JLabel label = new JLabel(cardNames[i], SwingConstants.CENTER);
  31. // cardPanel.add(label);
  32. cardPanel.add(label, cardNames[i]);
  33. }
  34. container.add(cardPanel, BorderLayout.CENTER);
  35. JPanel buttonPanel = new JPanel(); // by default, the flow layout
  36. container.add(buttonPanel, BorderLayout.SOUTH);
  37. String[] buttonNames = { "第一個", "前一個", "卡片A", "卡片B", "卡片C",
  38. "後一個", "最後一個" };
  39. for (int i = 0; i < buttonNames.length; i++) {
  40. final JButton button = new JButton(buttonNames[i]);
  41. buttonPanel.add(button);
  42. button.addActionListener(new ActionListener() {
  43. @Override
  44. public void actionPerformed(ActionEvent e) {
  45. // TODO Auto-generated method stub
  46. String buttonText = button.getText();
  47. if (buttonText.equals("第一個")) {
  48. cardLayout.first(cardPanel);
  49. } else if (buttonText.equals("前一個")) {
  50. cardLayout.previous(cardPanel);
  51. } else if (buttonText.equals("卡片A")) {
  52. cardLayout.show(cardPanel, "卡片A");
  53. } else if (buttonText.equals("卡片B")) {
  54. cardLayout.show(cardPanel, "卡片B");
  55. } else if (buttonText.equals("卡片C")) {
  56. cardLayout.show(cardPanel, "卡片C");
  57. } else if (buttonText.equals("後一個")) {
  58. cardLayout.next(cardPanel);
  59. }else {
  60. cardLayout.last(cardPanel);
  61. }
  62. }
  63. });
  64. }
  65. }
  66. /**
  67. * @param args
  68. */
  69. public static void main(String[] args) {
  70. // TODO Auto-generated method stub
  71. CardLayout_1 frame = new CardLayout_1();
  72. frame.setTitle("使用卡片布局管理器");
  73. frame.setVisible(true);
  74. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  75. frame.pack();
  76. }
  77. }
Copyright © Linux教程網 All Rights Reserved