部分功能实现:
1 public void actionPerformed(ActionEvent ae) { 2 //重新开始按钮 3 if (ae.getSource().equals(anew)){ 4 int i,k; 5 //重新排列每个棋子的位置 6 //黑色棋子 7 8 //车 9 for (i=0,k=24;i<2;i++,k+=456){ 10 play[i].setBounds(k,56,55,55); 11 } 12 13 //马 14 for (i=4,k=81;i<6;i++,k+=342){ 15 play[i].setBounds(k,56,55,55); 16 } 17 18 //相 19 for (i=8,k=138;i<10;i++,k+=228){ 20 play[i].setBounds(k,56,55,55); 21 } 22 23 //士 24 for (i=12,k=195;i<14;i++,k+=114){ 25 play[i].setBounds(k,56,55,55); 26 } 27 28 //卒 29 for (i=16,k=24;i<21;i++,k+=114){ 30 play[i].setBounds(k,227,55,55); 31 } 32 33 //炮 34 for (i=26,k=81;i<28;i++,k+=342){ 35 play[i].setBounds(k,170,55,55); 36 } 37 38 //将 39 play[30].setBounds(252,56,55,55); 40 41 //红色棋子 42 //车 43 for (i=2,k=24;i<4;i++,k+=456){ 44 play[i].setBounds(k,569,55,55); 45 } 46 47 //马 48 for (i=6,k=81;i<8;i++,k+=342){ 49 play[i].setBounds(k,569,55,55); 50 } 51 52 //相 53 for (i=10,k=138;i<12;i++,k+=228){ 54 play[i].setBounds(k,569,55,55); 55 } 56 57 //士 58 for (i=14,k=195;i<16;i++,k+=114){ 59 play[i].setBounds(k,569,55,55); 60 } 61 62 //兵 63 for (i=21,k=24;i<26;i++,k+=114){ 64 play[i].setBounds(k,398,55,55); 65 } 66 67 //炮 68 for (i=28,k=81;i<30;i++,k+=342){ 69 play[i].setBounds(k,455,55,55); 70 } 71 72 //帅 73 play[31].setBounds(252,569,55,55); 74 75 chessPlayClick = 2; 76 text.setText(" 红棋走棋"); 77 78 for (i=0;i<32;i++){ 79 play[i].setVisible(true); 80 } 81 //清除Vector中的内容 82 Var.clear(); 83 84 } 85 86 //悔棋按钮 87 else if (ae.getSource().equals(repent)){ 88 try{ 89 //获得setVisible属性值 90 String S = (String)Var.get(Var.size()-4); 91 //获得X坐标 92 int x = Integer.parseInt((String)Var.get(Var.size()-3)); 93 //获得Y坐标 94 int y = Integer.parseInt((String)Var.get(Var.size()-2)); 95 //获得索引 96 int M = Integer.parseInt((String)Var.get(Var.size()-1)); 97 98 //赋给棋子 99 play[M].setVisible(true); 100 play[M].setBounds(x,y,55,55); 101 102 if (play[M].getName().charAt(1) == '1'){ 103 text.setText(" 黑棋走棋"); 104 chessPlayClick = 1; 105 } 106 else{ 107 text.setText(" 红棋走棋"); 108 chessPlayClick = 2; 109 } 110 111 //删除用过的坐标 112 Var.remove(Var.size()-4); 113 Var.remove(Var.size()-3); 114 Var.remove(Var.size()-2); 115 Var.remove(Var.size()-1); 116 117 //停止旗子闪烁 118 chessManClick=false; 119 } 120 121 catch(Exception e){ 122 } 123 } 124 125 //退出 126 else if (ae.getSource().equals(exit)){ 127 int j=JOptionPane.showConfirmDialog( 128 this,"真的要退出吗?","退出", 129 JOptionPane.YES_OPTION,JOptionPane.QUESTION_MESSAGE); 130 131 if (j == JOptionPane.YES_OPTION){ 132 System.exit(0); 133 } 134 } 135 }