midPanel.setLayout(null);
You should always use Layout Managers, never ever remove the layout for any reason, except if you had an assignment required to use absolute layout (null layout).
The problem is with absolute layout , you have to specify the location of components inside the panel by component.setBounds(x,y,width,height)
every time adding a component, otherwise, it won't be visible.
See this tutorial on Using Layout Managers.