You get an error message indicating that the actionPerformed method is missing.
You get this message because your GameFrame class implements ActionListener.
Nothing happens when you run the program. (The frame doesn't become visible.)
The frame appears, but it's too small to contain the text field, the button and the label. The only way
for you to see these components is to enlarge the frame by dragging the edge of the frame with your mouse.
The actionPerformed method is no longer called when the user clicks the button.
So when you click the button, nothing happens.
The first use of the keyword this forces the expression this.n to refer to the field
named n, as in
private int n;
instead of referring to the parameter named n, as in
IntegerHolder(int n)
The second use of the keyword this refers to an instance of the IntegerHolder class
(whichever instance is executing its own displayMyN method at the time).
This instance gets passed to the Displayer class's display method.
In the display method's body, that instance goes by the parameter name holder.
The display method calls that holder's getN method.
In other words, the display method calls the IntegerHolder instance's getN method.