Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.GridLayout;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import javax.swing.*;
- @SuppressWarnings("serial")
- public class GameGUIView extends JPanel implements ActionListener {
- GameModel model;
- GameController controller;
- int height, width;
- JCheckBox[][] checkBoxes;
- public GameGUIView(GameModel model, GameController controller) {
- this.model = model;
- this.controller = controller;
- boolean[][] field = model.getField();
- height = field.length;
- width = field[0].length;
- this.setLayout(new GridLayout(height, width));
- checkBoxes = new JCheckBox[height][width];
- for (int i = 0; i < height; i++) {
- for (int j = 0; j < width; j++) {
- checkBoxes[i][j] = new JCheckBox();
- this.add(checkBoxes[i][j]);
- checkBoxes[i][j].addActionListener(this);
- }
- }
- redraw();
- }
- public void redraw() {
- boolean[][] field = model.getField();
- for (int i = 0; i < height; i++) {
- for (int j = 0; j < width; j++) {
- checkBoxes[i][j].setSelected(field[i][j]);
- }
- }
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- for (int i = 0; i < height; i++) {
- for (int j = 0; j < width; j++) {
- if (e.getSource() == checkBoxes[i][j]) {
- controller.receiveAction(i, j);
- }
- }
- }
- redraw();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement