⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 buttonhanler.java

📁 本程序是用java实现翻牌程序
💻 JAVA
字号:
package fapai;

import java.awt.event.*;
import javax.swing.*;
import java.awt.Color;
import java.io.IOException;
import java.io.FileWriter;
import java.io.BufferedWriter;

/**
 * <p>Title: </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2008</p>
 *
 * <p>Company: </p>
 *
 * @author not attributable
 * @version 1.0
 */
public class ButtonHanler implements ActionListener {
    FanPaiFrame frame =null;
    public ButtonHanler(FanPaiFrame frame) {
        this.frame= frame;
    }

    /**
     * Invoked when an action occurs.
     *
     * @param e ActionEvent
     * @todo Implement this java.awt.event.ActionListener method
     */
    public void actionPerformed(ActionEvent e) {
        String buttonCom = e.getActionCommand();
          String row = String.valueOf(buttonCom.charAt(0));
          String col = String.valueOf(buttonCom.charAt(1));
          int buttonRow = Integer.parseInt(row);
          int buttonCol = Integer.parseInt(col);

          boolean isVisi = !frame.button[buttonRow][buttonCol].isContentAreaFilled();
          frame.button[buttonRow][buttonCol].setContentAreaFilled(isVisi);

          changeButton(buttonRow,buttonCol);
          JudgeResult(); //判断结果


    }


    private void changeButton(int row,int col){
        boolean isVisi;

        if(row==0){

            if (col==0){

                isVisi = !frame.button[row][col + 1].isContentAreaFilled();
               frame.button[row][col + 1].setContentAreaFilled(isVisi);

              isVisi=!frame.button[row+1][col].isContentAreaFilled();
                frame.button[row+1][col].setContentAreaFilled(isVisi);
            }
            else if(col==frame.COL-1){
                isVisi = !frame.button[row][col - 1].isContentAreaFilled();
                frame.button[row][col - 1].setContentAreaFilled(isVisi);

                isVisi = !frame.button[row + 1][col].isContentAreaFilled();
                frame.button[row +1][col].setContentAreaFilled(isVisi);
            }
            else{
                isVisi = !frame.button[row][col - 1].isContentAreaFilled();
                frame.button[row][col - 1].setContentAreaFilled(isVisi);

                isVisi = !frame.button[row + 1][col].isContentAreaFilled();
                frame.button[row + 1][col].setContentAreaFilled(isVisi);

                isVisi = !frame.button[row][col + 1].isContentAreaFilled();
                 frame.button[row][col + 1].setContentAreaFilled(isVisi);
            }

        }
        else if(row==frame.ROW-1){
            if(col==0){
                isVisi = !frame.button[row - 1][col].isContentAreaFilled();
                frame.button[row - 1][col].setContentAreaFilled(isVisi);
                isVisi = !frame.button[row][col + 1].isContentAreaFilled();
                 frame.button[row][col + 1].setContentAreaFilled(isVisi);
            }
            else if(col==frame.COL-1){
               isVisi = !frame.button[row][col - 1].isContentAreaFilled();
               frame.button[row][col - 1].setContentAreaFilled(isVisi);

               isVisi = !frame.button[row - 1][col].isContentAreaFilled();
               frame.button[row -1][col].setContentAreaFilled(isVisi);
           }
           else{
               isVisi =!frame.button[row][col - 1].isContentAreaFilled();
                frame.button[row][col - 1].setContentAreaFilled(isVisi);

                isVisi = !frame.button[row - 1][col].isContentAreaFilled();
                frame.button[row - 1][col].setContentAreaFilled(isVisi);

                isVisi = !frame.button[row][col + 1].isContentAreaFilled();;
                 frame.button[row][col + 1].setContentAreaFilled(isVisi);
            }

           }
           else if(col==0){
               if(row==0){
                   isVisi = !frame.button[row][col+ 1].isContentAreaFilled();
                   frame.button[row][col + 1].setContentAreaFilled(isVisi);
                  isVisi = !frame.button[row +1][col].isContentAreaFilled();
                  frame.button[row +1][col].setContentAreaFilled(isVisi);
               }
               else{
                   isVisi = !frame.button[row][col+ 1].isContentAreaFilled();
                   frame.button[row][col + 1].setContentAreaFilled(isVisi);
                  isVisi = !frame.button[row +1][col].isContentAreaFilled();
                  frame.button[row +1][col].setContentAreaFilled(isVisi);
                  isVisi = !frame.button[row -1][col].isContentAreaFilled();
                  frame.button[row -1][col].setContentAreaFilled(isVisi);

               }

               }
           else if(col==frame.COL-1){
                    if(row==0){
                    isVisi = !frame.button[row][col- 1].isContentAreaFilled();
                    frame.button[row][col - 1].setContentAreaFilled(isVisi);
                    isVisi = !frame.button[row +1][col].isContentAreaFilled();
                    frame.button[row +1][col].setContentAreaFilled(isVisi);
                 }
                 else if(row==frame.ROW-1){
                     isVisi =!frame.button[row-1][col- 1].isContentAreaFilled();
                    frame.button[row-1][col - 1].setContentAreaFilled(isVisi);

                    isVisi = !frame.button[row -1][col-1].isContentAreaFilled();
                    frame.button[row -1][col-1].setContentAreaFilled(isVisi);

                 }
                 else {
                     //isVisi = changColor(frame.button[row-1][col]);
                     isVisi=!frame.button[row-1][col].isContentAreaFilled();
                    frame.button[row-1][col].setContentAreaFilled(isVisi);

                    isVisi =!frame.button[row ][col-1].isContentAreaFilled();
                    frame.button[row ][col-1].setContentAreaFilled(isVisi);

                    isVisi =!frame.button[row +1][col].isContentAreaFilled();
                    frame.button[row +1][col].setContentAreaFilled(isVisi);
                 }

                 }
            else {

            isVisi =!frame.button[row][col + 1].isContentAreaFilled();
            frame.button[row][col + 1].setContentAreaFilled(isVisi);

            isVisi = !frame.button[row][col - 1].isContentAreaFilled();
            frame.button[row][col - 1].setContentAreaFilled(isVisi);

            isVisi =!frame.button[row - 1][col].isContentAreaFilled();
            frame.button[row - 1][col].setContentAreaFilled(isVisi);

            isVisi = !frame.button[row + 1][col].isContentAreaFilled();
            frame.button[row + 1][col].setContentAreaFilled(isVisi);

            }

        }

       private void JudgeResult() {
       boolean isSusess = true;
       for (int i = 0; i < frame.ROW; i++) {
           for (int j = 0; j < frame.COL; j++) {
               if (frame.button[i][j].isContentAreaFilled()) {
                   isSusess = false;
               }
           }

       }
       if (isSusess) {
           saveResult();
           JOptionPane.showMessageDialog(frame, "祝贺你,你成功了");
           frame.resetjButton_actionPerformed();
       }
   }

   private void saveResult() {
       String name = frame.playerjTextField.getText().trim();
       String gameClass = "1";
       BufferedWriter bufferedWriter = null;
       FileWriter fileWriter = null;
       if (frame.onejMenuItem.isSelected()) {
           gameClass = "1";
       } else if (frame.twojMenuItem.isSelected()) {
           gameClass = "2";
       } else if (frame.threejMenuItem.isSelected()) {
           gameClass = "3";
       }

       String time = frame.timejTextField.getText();
       try {
           fileWriter = new FileWriter(
                   "D:/JBuilder/src/com/yhx/ibm/fapai/result.txt", true);
           bufferedWriter = new BufferedWriter(fileWriter);
           bufferedWriter.write(name + "---" + gameClass + "---" + time);
           bufferedWriter.newLine();
           bufferedWriter.flush();

       } catch (IOException e) {
           System.out.println("写文件出错!");
       } finally {
           try {
               bufferedWriter.close();
               fileWriter.close();
           } catch (IOException ex) {
               System.out.println("关闭文件时出错!");
           }
       }
   }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -