private void click(MouseEvent event) {
    MinesweeperButton button = (MinesweeperButton) event.getSource();
    int col = button.getGridX();
    int row = button.getGridY();
    Boolean flag = null;

    switch (event.getButton()) {
      case MouseEvent.BUTTON1:
        if (!button.isOpen()) {
          button.setOpen();
          MinesweeperService.getInstance().open(row, col);
        }
        break;
      case MouseEvent.BUTTON3:
        MinesweeperService.getInstance().setFlag(row, col);
        break;
      default:
        break;
    }
  }
  public void createBoarder() {
    this.listButton = new MinesweeperButton[model.getRows()][model.getCols()];
    this.panelPole = new JPanel();
    panelPole.setLayout(new GridLayout(model.getRows(), model.getCols()));
    for (int i = 0; i < model.getRows(); i++) {
      for (int j = 0; j < model.getCols(); j++) {
        MinesweeperButton button = new MinesweeperButton();
        button.setGridY(i);
        button.setGridX(j);
        listButton[i][j] = button;
        button.addMouseListener(
            new MinesweeperButtonListener() {

              @Override
              public void mouseClicked(MouseEvent event) {
                click(event);
              }
            });
        panelPole.add(button);
      }
    }
    add(panelPole, BorderLayout.CENTER);
  }