I am happy. 

Project Stage 03 is due today I will grade Stages 02 and 03 (you can combine them) on Saturday. 

Stage 04: 

import javax.swing.*; 

public class Controls extends JPanel {
  public Controls() {
    this.add(new JLabel("What now?...")); 
    this.add(new JButton("Proceed")); 
  }
}

import javax.swing.*; 
import java.awt.*; 

public class Four {
  public static void main(String[] args) {
    JFrame a = new JFrame(); 
    Container c = a.getContentPane(); 
    c.setLayout(new BorderLayout()); 
    // https://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html
    c.add(new Controls(), BorderLayout.NORTH); 
    // https://docs.oracle.com/javase/8/docs/api/java/awt/BorderLayout.html
    c.add(new Screen(), BorderLayout.CENTER); 

    a.setSize(400, 400); 
    a.setVisible(true); 
  }
}

--

Final version (with a bug): 


import javax.swing.*; 
import java.awt.*; 

public class Four {
  public static void main(String[] args) {
    JFrame a = new JFrame(); 
    Container c = a.getContentPane(); 
    c.setLayout(new BorderLayout()); 
    // https://docs.oracle.com/javase/tutorial/uiswing/components/toplevel.html
    Screen s = new Screen();
    Controls m = new Controls(s); 
    c.add(m, BorderLayout.NORTH); 
    // https://docs.oracle.com/javase/8/docs/api/java/awt/BorderLayout.html
    c.add(s, BorderLayout.CENTER); 


    a.setSize(400, 400); 
    a.setVisible(true); 
  }
}

--

Ben Nariman Chun Murun Daohui Mary Zack Dustin Sai Qi JeVante Namit Michael Jiongran Chase 
Grant Sunghyun Peter W Peter F Emma Stephen K Young Hwan LaBrian 

--

import javax.swing.*; 
import java.awt.*; 
import java.awt.event.*; 

public class Controls extends JPanel implements ActionListener {
  Screen s; 
  public Controls(Screen s) {
    this.s = s;
  }
  public void actionPerformed(ActionEvent e) {
    String op = (String)b.getSelectedItem();
    System.out.println( op + " " + a.getText() );  
    this.s.send(op, a.getText()); 
  }
  // https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html
  JComboBox b; 
  JTextField a; 
  public Controls() {
    this.add(new JLabel("What now?..."));
    String[] bOptions = { "Operation", "Insert", "Remove" };
    b = new JComboBox(bOptions);
    this.add(b); 
    a = new JTextField(); 
    a.setPreferredSize(new Dimension(40, 20)); 
    this.add(a); 
    JButton c = new JButton("Proceed"); 
    c.addActionListener(this); 
    this.add(c);    
    
  }
}

--

import javax.swing.*; 
import java.awt.*; 

public class Screen extends JComponent {
  String op, value;   
  public void send(String op, String value) {
    this.op = op; 
    this.value = value;
    this.repaint(); 
  }
  public void paintComponent(Graphics g) {
    g.setColor(Color.RED);
    g.drawOval(30, 30, 120, 120);  
    g.drawString(this.op + " " + this.value, 100, 200); 
  }
}

--

So the fix was:



--

https://www.amazon.com/Daily-Coding-Problem-exceptionally-interviews/dp/1793296634

https://www.google.com/search?q=jpanel&rlz=1C1GCEA_enUS852&oq=JPanel&aqs=chrome.0.0l6.1527j0j7&sourceid=chrome&ie=UTF-8

https://docs.oracle.com/javase/tutorial/uiswing/components/panel.html

https://docs.oracle.com/javase/8/docs/api/javax/swing/JPanel.html

https://docs.oracle.com/javase/7/docs/api/javax/swing/JPanel.html

https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html

https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html

https://docs.oracle.com/javase/8/docs/api/javax/swing/JComboBox.html

https://github.com/c212/summer-2019-lectures/blob/master/project/stage04/Controls.java