/** * */ package ge.edu.freeuni.sdp.snake.view.swing; import ge.edu.freeuni.sdp.snake.presenter.GameOverPresenter; import ge.edu.freeuni.sdp.snake.presenter.HighScorePresenter; import ge.edu.freeuni.sdp.snake.presenter.LevelPresenter; import ge.edu.freeuni.sdp.snake.presenter.MazePresenter; import ge.edu.freeuni.sdp.snake.view.GameOverView; import ge.edu.freeuni.sdp.snake.view.HighScoreView; import ge.edu.freeuni.sdp.snake.view.LevelView; import ge.edu.freeuni.sdp.snake.view.MazeView; import ge.edu.freeuni.sdp.snake.view.ViewFactory; import javax.swing.JFrame; /** * @author Giorgi * */ public class SwingViewFactory implements ViewFactory { private JFrame frame; /** * Constructor for different Swing views * * @param frame * on which will be painted elements * @param screen */ public SwingViewFactory(JFrame frame) { this.frame = frame; } /* * (non-Javadoc) * * @see * ge.edu.freeuni.sdp.snake.view.ViewFactory#getLevelView(ge.edu.freeuni * .sdp.snake.presenter.LevelPresenter) */ @Override public LevelView getLevelView(LevelPresenter presenter) { return new SwingLevelView(presenter, frame); } /* * (non-Javadoc) * * @see * ge.edu.freeuni.sdp.snake.view.ViewFactory#getMazeView(ge.edu.freeuni. * sdp.snake.presenter.MazePresenter) */ @Override public MazeView getMazeView(MazePresenter presenter) { return new SwingMazeView(presenter, frame); } /* * (non-Javadoc) * * @see * ge.edu.freeuni.sdp.snake.view.ViewFactory#getGameOverView(ge.edu.freeuni * .sdp.snake.presenter.GameOverPresenter) */ @Override public GameOverView getGameOverView(GameOverPresenter presenter) { return new SwingGameOverView(frame); } @Override public HighScoreView getHighScoreView(HighScorePresenter presenter) { return new SwingHighScoreView(); } }