Guessing game - Is it a 40?
Pros


dedicated classes for the ActionListener
calls JFramw.setVisible() from outside any constructor


cons


Naming conventions: class names always start with upper case letter
Inheritance: never extend a class unless you want to change behavior, you only configure JFrame, so no need to extend it. 
comments: comments in code should explain why the code is like it is and only if it is somewhat unusual or unexpected. Your comments only repeat what the code expresses already.
System.exit(0);: This kills the JVM. There will be no change to i.e. close database connections correctly. Use it only in a catch block inside main.