📄 buttonhanler.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 + -