SpiderMenuBar.java
Upload User: h_z_ygh
Upload Date: 2020-12-29
Package Size: 134k
Code Size: 5k
Category:

Games

Development Platform:

Java

  1. import javax.swing.JMenuBar;
  2. import javax.swing.JMenu;
  3. import javax.swing.JMenuItem;
  4. import javax.swing.JRadioButtonMenuItem;
  5. import javax.swing.ButtonGroup;
  6. public class SpiderMenuBar extends JMenuBar{
  7.     
  8. //生成spider框架对象
  9.     Spider main = null;
  10.    
  11.     //生成菜单组
  12.     JMenu jNewGame = new JMenu("游戏");
  13.     JMenu jHelp = new JMenu("帮助");
  14.     
  15.     //生成菜单项
  16.     JMenuItem jItemAbout = new JMenuItem("关于");
  17.     JMenuItem jItemOpen = new JMenuItem("开局");
  18.     JMenuItem jItemPlayAgain = new JMenuItem("重新发牌");
  19.    
  20.     //生成单选框
  21.     JRadioButtonMenuItem jRMItemEasy = new JRadioButtonMenuItem("简单:单一花色");
  22.     JRadioButtonMenuItem jRMItemNormal = new JRadioButtonMenuItem("中级:双花色");
  23.     JRadioButtonMenuItem jRMItemHard = new JRadioButtonMenuItem("高级:四花色");;
  24.     
  25.     JMenuItem jItemExit = new JMenuItem("退出");
  26.     JMenuItem jItemValid = new JMenuItem("显示可行操作");
  27.     
  28.     
  29.     /**
  30.      **构造函数,生成JMenuBar的图形界面
  31.      */
  32.     public SpiderMenuBar(Spider spider){
  33.         
  34.         this.main = spider;
  35.         
  36.         /**
  37.          **初始化“游戏”菜单栏
  38.          */
  39.         jNewGame.add(jItemOpen);
  40.         jNewGame.add(jItemPlayAgain);
  41.         jNewGame.add(jItemValid);
  42.         
  43.         jNewGame.addSeparator();
  44.         jNewGame.add(jRMItemEasy);
  45.         jNewGame.add(jRMItemNormal);
  46.         jNewGame.add(jRMItemHard);
  47.         
  48.         jNewGame.addSeparator();
  49.         
  50.         jNewGame.add(jItemExit);
  51.         
  52.         ButtonGroup group = new ButtonGroup();
  53.         group.add(jRMItemEasy);
  54.         group.add(jRMItemNormal);
  55.         group.add(jRMItemHard);
  56.         jHelp.add(jItemAbout);
  57.         this.add(jNewGame);
  58.         this.add(jHelp);
  59. //为组件添加事件监听并实现
  60.         //“开局”
  61. jItemOpen.addActionListener(new java.awt.event.ActionListener() { 
  62.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  63.                 main.newGame();
  64.             }
  65.         });
  66.         //“重新发牌”
  67. jItemPlayAgain.addActionListener(new java.awt.event.ActionListener() { 
  68.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  69.                 if(main.getC() < 60){
  70.                     main.deal();
  71.                 }
  72.             }
  73.         });
  74.         //"显示可行操作"
  75. jItemValid.addActionListener(new java.awt.event.ActionListener() { 
  76.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  77.                 new Show().start();
  78.             }
  79.         });
  80.         
  81.         //“退出”
  82. jItemExit.addActionListener(new java.awt.event.ActionListener() { 
  83.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  84.                 main.dispose();
  85.                 System.exit(0);
  86.             }
  87.         });
  88. //“简单级别”默认已选
  89. jRMItemEasy.setSelected(true);
  90.         
  91. //“简单级别”
  92. jRMItemEasy.addActionListener(new java.awt.event.ActionListener() { 
  93.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  94.                 main.setGrade(Spider.EASY);
  95.                 main.initCards();
  96.                 main.newGame();
  97.             }
  98.         });
  99.         
  100.         //“中级”
  101. jRMItemNormal.addActionListener(new java.awt.event.ActionListener() { 
  102.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  103.                 main.setGrade(Spider.NATURAL);
  104.                 main.initCards();
  105.                 main.newGame();
  106.             }
  107.         });
  108.         //“高级”
  109. jRMItemHard.addActionListener(new java.awt.event.ActionListener() { 
  110.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  111.                 main.setGrade(Spider.HARD);
  112.                 main.initCards();
  113.                 main.newGame();
  114.             }
  115.         });
  116. jNewGame.addMenuListener(new javax.swing.event.MenuListener() { 
  117.             public void menuSelected(javax.swing.event.MenuEvent e) {    
  118.                 if(main.getC() < 60){
  119.                     jItemPlayAgain.setEnabled(true);
  120.                 }
  121.                 else{
  122.                     jItemPlayAgain.setEnabled(false);
  123.                 }
  124.             }
  125.             public void menuDeselected(javax.swing.event.MenuEvent e) {} 
  126.             public void menuCanceled(javax.swing.event.MenuEvent e) {} 
  127.         });
  128.         
  129.         //“关于”
  130. jItemAbout.addActionListener(new java.awt.event.ActionListener() { 
  131.             public void actionPerformed(java.awt.event.ActionEvent e) {    
  132.                 new AboutDialog();
  133.             }
  134.         });
  135.     }
  136.     /**
  137.      **构造线程:显示可以执行的操作
  138.      */
  139.     class Show extends Thread{
  140.         public void run(){
  141.             main.showEnableOperator();
  142.         }
  143.     }
  144.  }