簡體   English   中英

從子類訪問父類對象

[英]Access Parent Class Object from a child class

我正在創建一個帶有 GUI 的連接四游戲,但我被困在重新啟動游戲上。 我的目標是當用戶按下 MyBoard JPanel 上的重新啟動按鈕時,游戲將重新啟動。 我正在使用 mouseListener 並且我想從子類 MyBoard 訪問對象面板。

 public class Mediator(){
      public Mediator(){ 
          MyBoard panel = new MyBoard();
          JFrame board = new JFrame("Connect4");
          board.setSize(728, 728);
          board.setLocationRelativeTo(null); 
          board.add(panel);
          board.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          board.setVisible(false);
          board.setFocusable(true);
          board.setResizable(false);
      }
}



public class MyBoard extends JPanel implements MouseListener, MouseMotionListener {
     public MyBoard( ) {}
           @Override
           public void mouseClicked(MouseEvent e) {
               startX = e.getX();
               startY = e.getY();
               //Restart Button
               if (startX > rectButton1.x && startX < rectButton1.x + rectButton1.width && startY > rectButton1.y
                    && startY < rectButton1.y + rectButton1.height) {
            //I'm stuck here  
        }

創建 MyBoard 時使用對 Mediator 的引用

public class Mediator(){

    public Mediator(){ 
      MyBoard panel = new MyBoard(this);
      ...


 public class MyBoard extends JPanel implements MouseListener, MouseMotionListener {
        private Mediator mediator;

        public MyBoard(Mediator mediator)  {
              this.mediator = mediator;
        ...

此外,您可能必須將新板的構造移動到方法重新啟動,而不是在 Mediator 構造函數中進行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM