title: How to force overlap of JLabels
body: <p>I know I still need to convert string to int and to double for providerID and providerPrice so I can set them and then store them later; I expect I can figure that out just fine.  What I can't seem to find is how to make the JLabels align properly.  The cloudBack label should be the main background, and each set of JLabel and JTextField should be on a separate line overlapping the main background, with the 3 JButtons on bottom.  How do I make them go in the right places?  btw the source .png is 400x224 pixels
          package newprovider;</p>
  
  <pre><code>import java.awt.*;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import javax.swing.*;
  
  /*@Michael Christopher,  author/owner */
  public class NewProvider {
  /** @param args the command line arguments*/
  public static void createGUI() {
      // Create the window
      JFrame mainFrame = new JFrame ("NewProvider");
      mainFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
      //Create the MenuBar
      JMenuBar maintenanceMenuBar = new JMenuBar ();
      maintenanceMenuBar.setOpaque(true);
      maintenanceMenuBar.setBackground(new Color(176,224,230));
      maintenanceMenuBar.setPreferredSize(new Dimension(400, 20));
  
      //create variables
      int providerID;
      String providerName;
      Double providerPrice;
      int addProviderCheck;
      String[] options = {"Yes","No"};
  
      //create image icon, labels, and JTextFields
      JLabel cloudBack;
      cloudBack = new JLabel (new ImageIcon("images/CloudBack.png"));
      JLabel labelID = new JLabel ("New ProviderID");
      JTextField textID = new JTextField("providerID \n", 10);
      JLabel labelName = new JLabel ("New Provider Name");
      JTextField textName = new JTextField("Provider Name \n", 20);
      JLabel labelPrice = new JLabel ("New Provider Price");
      JTextField textPrice = new JTextField ("Price \n", 5);
      //make Submit, Clear, &amp; Exit buttons
      JButton submit = new JButton("Submit");   
      JButton clear = new JButton("Clear");
      JButton exit = new JButton("Exit");
  
      /*Set the FlowLayout to arrange the window, setting labels, text fields,
      menubar, background, and orientation*/
      FlowLayout newProviderLayout = new FlowLayout();
      mainFrame.setLayout(newProviderLayout);
      mainFrame.setJMenuBar(maintenanceMenuBar);
      mainFrame.add(cloudBack, BorderLayout.CENTER);
      mainFrame.add(labelID);
      mainFrame.add(textID);
      mainFrame.add(labelName);
      mainFrame.add(textName);
      mainFrame.add(labelPrice);
      mainFrame.add(textPrice);
      mainFrame.add(submit);
      mainFrame.add(clear);
      mainFrame.add(exit);
  
      //ActionListener for Submit button
      submit.addActionListener(new ActionListener()
      {           public void actionPerformed(ActionEvent e) {
                      String ID = textID.getText();
                      String Name = textName.getText();
                      String Price = textPrice.getText();
              int submitPress = JOptionPane.showOptionDialog(null,
       "ProviderID: " + ID + "\n" + "Provider Name: " + Name +"\n" + "Provider Price: " + Price,
       "Please Verify Content",JOptionPane.YES_NO_OPTION,JOptionPane.WARNING_MESSAGE,null, options,options[0]); 
  if (submitPress &lt;= 0) {                  
      //Store Displayed data
      System.out.println(ID);
      System.out.println(Name);
      System.out.println(Price);
      /*providerID = ID;
      providerName = Name;
      providerPrice = Price;  */
      textID.setText("Confirmed");
  }
  else if (submitPress &gt; 0) {      
              textID.setText("providerID");
              textName.setText("Provider Name");
              textPrice.setText("Price"); }
          }
      });
      //ActionListener for clear button
      clear.addActionListener(new ActionListener()
      {    @Override
          public void actionPerformed(ActionEvent e) {
              textID.setText("providerID");
              textName.setText("Provider Name");
              textPrice.setText("Price"); }
      });
      //ActionListener for Exit Button
      exit.addActionListener(new ActionListener() 
      {   @Override
          public void actionPerformed(ActionEvent e) {
              mainFrame.setVisible(false);
              mainFrame.dispose(); }
      });
  //verify intent to add new provider to system before continuing
  addProviderCheck = JOptionPane.showOptionDialog(null,
       "This will add a new service provider to the database.\n" 
      + "Are you sure you wish to continue?",
       "Please Verify Intent",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null, options,options[0]); 
  if (addProviderCheck &lt;= 0) {
                //Display Window
      mainFrame.pack();
      mainFrame.setSize(400, 400);
      mainFrame.setVisible(true);}
  else { //else close app
      mainFrame.setVisible(false);
      mainFrame.dispose();
  }
  }
  public static void main(String[] args){
      //draw and show the GUI
      javax.swing.SwingUtilities.invokeLater(() -&gt; {
          createGUI();
      });        
      //store new provider data
      }
  }
  </code></pre>