title: How to correctly position JButtons and size JTextFields?
body: <p>I am trying to create a password vault, but whenever I try to run it, the <code>JTextField</code>s are extremely small and the panel is somewhat being covered by the <code>JTable</code>. </p>
  
  <p>I have tried playing with the dimensions and the positions of the <code>GridBag</code> but nothing works.</p>
  
  <p>This is for my IB Computer Science IA. Any help would be great. </p>
  
  <pre><code>    JFrame passwordVault;
      JTable passwordTable;
      Object[] columnNames = {"Name of Application", "Application Password", "Description"};
      JTextField appName, appPass, appDesc;
      JButton add, delete, update;
      JLabel nameOfApp, passOfApp, descOfApp;
  
      passwordVault = new JFrame("Password Vault");
      passwordTable = new JTable();
      JPanel passwordPanel = new JPanel();
  
      DefaultTableModel tableModel = new DefaultTableModel();
      tableModel.setColumnIdentifiers(columnNames);
      passwordTable.setModel(tableModel);
  
      nameOfApp = new JLabel("App Name: ");
      passOfApp = new JLabel("App Password: ");
      descOfApp = new JLabel("Description: ");    
  
      appName = new JTextField();
      appPass = new JTextField();
      appDesc = new JTextField();
  
      add = new JButton("Add");
      delete = new JButton("Delete");
      update = new JButton("Update");  
  
      appName.setBounds(400, 220, 100, 25);
      appPass.setBounds(400, 250, 100, 25);
      appDesc.setBounds(400, 280, 100, 25);
  
      add.setBounds(530, 220, 100, 25);
      update.setBounds(530, 250, 100, 25);
      delete.setBounds(530, 280, 100, 25);
  
      JScrollPane scrollPane = new JScrollPane(passwordTable);
      scrollPane.setBounds(0, 0, 1000, 200);
      passwordVault.add(scrollPane);
  
      passwordPanel.add(add);
      passwordPanel.add(update);
      passwordPanel.add(delete);
  
      passwordPanel.setLayout(new GridBagLayout());
  
      passwordPanel.add(nameOfApp, new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0,
          GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(appName, new GridBagConstraints(1, 0, 1, 1, 0.0, 0.0,
          GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(passOfApp, new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0,
          GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(appPass, new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0,
          GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(descOfApp, new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0,
          GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(appDesc, new GridBagConstraints(2, 2, 1, 1, 0.0, 0.0,
          GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(add, new GridBagConstraints(3, 3, 1, 1, 0.0, 0.0,
              GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(update, new GridBagConstraints(4, 3, 1, 1, 0.0, 0.0,
              GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
      passwordPanel.add(delete, new GridBagConstraints(5, 3, 1, 1, 0.0, 0.0,
              GridBagConstraints.WEST, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0));
  
      passwordVault.add(passwordPanel);
      passwordVault.setSize(1000,500);
      passwordVault.setLocationRelativeTo(null);
      passwordVault.setVisible(true);
  </code></pre>