Swing's drawing or painting mechanism can be used to respond to actions on the user interface. In this case, the ActionListener that handles the button press could read and set the values x, y, and r and then call repaint() to draw the oval.
I recommend the following changes to your fundamental design:
The main class (CircleFrame) composes a JFrame in which 2 panels are placed:
1. North (or South?): A JPanel to contain the text fields and button is built in and returned from a CircleFrame method. An action listener is added to the button much as you've already done. (Class names begin with capital letters.) The action listener's actionPerformed() method reads and sets the values x, y, and r and then calls repaint() to draw the oval.
2. Center: A JPanel to draw the ovals (OvalPanel) is built from an enclosed class that extends JPanel.
The paintComponent() method of OvalPanel is overridden to draw ovals specified by x, y, and radius as set by the button's action listener which calls repaint() after the values are set.
The main() method of CircleFrame simply creates an instance of CircleFrame on the EDT, nothing else.
Good luck!