我有一个Quick Quesiton,我需要帮助。我的问题是我创建了2个类,我想调用我的Panel类的方法“IsWin”。如何从Java中的另一个类调用方法?
这是方法,我有:
类名称:IsWin
public class IsWin {
private JButton[][] slots;
private Color playerColor = Color.red;
public boolean Winner(int column, int row) {
boolean result = false;
// horizontal
boolean found = false;
int counter = 0;
for (int i = 0; i < slots.length; i++) {
if (slots[i][row].getBackground().equals(playerColor)) {
counter++;
// win
if (found == true) {
if (counter == 4) {
result = true;
break;
}
}
else {
found = true;
}
}
// reset counter
else {
if (found == true) {
counter = 0;
}
found = false;
}
}
这就是我要调用的方法
这是我的面板类的类:connectFourPanel
private class clikMeButtonListener implements ActionListener{
public void actionPerformed(ActionEvent event) {
if (event.getSource() == clickMeOne
|| event.getSource() == clickMeTwo
|| event.getSource() == clickMeThree
|| event.getSource() == clickMeFour
|| event.getSource() == clickMeFive
|| event.getSource() == clickMeSix
|| event.getSource() == clickMeSeven
) {
int lastEmptyIdx = -1;
for (int i = 0; i < slots[column].length; i++) {
if (slots[column][i].getBackground() != Color.white) {
break;
}
else {
lastEmptyIdx = i;
}
}
if (lastEmptyIdx != -1) {
slots[column][lastEmptyIdx].setBackground(playerColor);
if (IsWin.contains(column, lastEmptyIdx)) {
String message = playerColor == Color.red ? " Player One Won!" : " Player Two Won!";
JOptionPane.showMessageDialog(null, message, " Results ", JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
else {
playerColor = playerColor == Color.red ? Color.yellow : Color.red;
// assuming that Color.yellow is for computer player
if (isHumanVsComputer && playerColor == Color.yellow) {
doComputerMove();
}
}
}
}
}
注意这不是我完整的代码
UDPATE:这是我在我的面板类..
IsWin myIsWin = new IsWin();
myIsWin.Winner(column, row);
它是一种方法还是一个类? –
方法........ –