I Futoshikiパズルに挿入数が合法であるかどうかを確認する送信ボタン(およびアクション・リスナーが)ボタン
で(重複などのための2Dアレイをチェックする)を有しますもう一つの方法私は数字を取得し、それらを2D配列に挿入するアクションリスナーを持つ実際のグリッドを持っています。
する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'メソッドを呼び出す方法を教えてください。私の_setGridメソッド_の_method_です。これは悪いことである場合は事前にお詫び申し上げます。 – LogicGates
メソッド内にメソッドを持たないようにするには、これは不可能です。あなたはおそらくメソッド内の匿名クラスのメソッドを持っています。しかし、私が言ったように、この匿名クラスのインスタンスを他のスコープがアクセス可能な変数に割り当てるか、メソッドの内容を両方のスコープがアクセスできるメソッドに書き換えます。 – Vampire