Я создаю соединение с четырьмя играми с графическим интерфейсом, и я застрял в перезапуске игры. Моя цель состоит в том, что когда пользователь нажимает кнопку перезагрузки на 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
}
Что вы подразумеваете под «перезагрузкой посредника»? –
Мне нужно перезапустить объект посредника по моему основному методу. Мой основной метод создает экземпляр посредника. Мне нужно перезапустить JFrame, когда пользователь нажимает кнопку перезапуска. – sptBot
'MyBoard' не является дочерним элементом посредника класса в любом случае,' MyBoard' НЕ наследует от «Посредника», поэтому он не может быть ребенком. 'MyBoard' наследует от' JPanel', поэтому 'JPanel' является родителем' MyBoard', а не 'Mediator' – Popeye