割り当てのために既存の Java コードをいくつか変更していますが、ActionListener 内から既存のオブジェクトの関数を呼び出す方法がわかりません。
「myGame」のインスタンスは 1 つだけです。
関連するコードは次のとおりです。
public class myGame extends JFrame {
public myGame() {
//...snip...
statsBar = new JLabel("");
add(statsBar, BorderLayout.SOUTH);
add(new Board(statsBar));
setResizable(false);
setVisible(true);
addMenubar();
}
private void addMenubar() {
JMenuBar menubar = new JMenuBar();
JMenu topMnuGame = new JMenu("File");
JMenuItem mnuSolve = new JMenuItem("Solve");
mnuSolve.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
// freshGame.solveGame();
// this is where I need to call the solveGame function
// for the "freshGame" instance.
solveGame();
}
});
topMnuGame.add(mnuSolve);
menubar.add(topMnuGame);
}
public static void main(String[] args) {
myGame freshGame = new myGame();
}
}
.
public class Board extends JPanel {
public Board(JLabel statsBar) {
this.statsBar = statsBar;
//..snip..
addMouseListener( new gameAdapter() );
}
public void solveGame() {
// .. do stuff with object ..
}
}
私の質問は、「freshGame」インスタンスを使用して「myGame」クラス内から「solveGame()」を呼び出すにはどうすればよいですか?