Identify

Report a typo

Below we have three classes taken from a functional Swing Application that uses MVC.

class Number {
    private int value;

    public Number(int value) {
        this.value = value;
    }

    public int getValue() {
        return value;
    }

    public void increment() {
        this.value++;
    }
}

class Frame {
    private JFrame frame;
    private JLabel label;
    private JButton button;

    public Frame() {
        frame = new JFrame("Frame");
        label = new JLabel();
        button = new JButton("Button");
        frame.getContentPane().setLayout(new BorderLayout());
        // closes on exit
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        // window size
        frame.setSize(500, 500);
        frame.setVisible(true);
        frame.getContentPane().add(label, BorderLayout.CENTER);
        frame.getContentPane().add(button, BorderLayout.SOUTH);
    }

    public void setText(String str) {
        label.setText(str);
    }

    public JButton getButton() {
        return button;
    }
}

class Manager {
    private Number number;
    private Frame frame;
    private ActionListener actionListener;

    public Manager(Number number, Frame frame) {
        this.number = number;
        this.frame = frame;
    }

    public void manage() {
        actionListener = actionEvent -> {
            number.increment();
            frame.setText(Integer.toString(number.getValue()));
        };
        frame.getButton().addActionListener(actionListener);
    }
}

Identify which classes represent Model, View, and Controller and match them accordingly.

Match the items from left and right columns
Model
View
Controller
Frame
Manager
Number
___

Create a free account to access the full topic