我有一個提交按鈕(和動作偵聽器),其檢查是否插入Futoshiki難題的數目是合法的(檢查重複等的2D陣列)按鈕的ActionListener調用在同一類中的另一動作偵聽器
在另一種方法,我有一個動作監聽器的實際網格,獲取數字並將它們插入到二維數組中。
的JButton acction聽衆
JButton isRight = new JButton("Check My Answer");
isRight.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
if (!(puzzle.isLegal())) {
JOptionPane.showMessageDialog(FutoshikiFrame.this,
puzzle.getProblems(),
"You made a mistake!",
JOptionPane.INFORMATION_MESSAGE);
} else {
JOptionPane.showMessageDialog(FutoshikiFrame.this,
"YOU WIN!",
"YES THATS FINE",
JOptionPane.INFORMATION_MESSAGE);
}
puzzle.printProblems.clear();
}
});
電網的動作監聽
public void keyReleased(KeyEvent e) {
String getInsertedValue = Emptysquare.getText();
int getInsertedIntValue = Integer.parseInt(getInsertedValue);
setSquareValue(r, c, getInsertedIntValue);
System.out.print(getSquareValue(r, c));
}
有沒有一種方法可以讓我從一個JButton訪問的keyReleased操作偵聽器,它基本上是「提交」電網的內容,然後檢查它的合法性?
我該如何去調用'keyReleased'方法?這是_method_在我的_setGrid method_中。對不起,如果這是一件壞事 – LogicGates
你肯定沒有方法內的方法,因爲這是不可能的。您可能在方法內的匿名類中有一個方法。但正如我所說的,eihter將這個匿名類的實例賦值給另一個作用域可以訪問的某個變量,或者將該方法的內容轉換爲兩個作用域都可以訪問的方法。 – Vampire