title: Absolute Positioning a JButton
body: <p>I am trying to position a JButton with a null layout but it will not show up, if i switch to gridlayout they are only lined up in the middle no matter what i change. How can i set the position and size of my button?</p>
  
  <p>In Frame</p>
  
  <pre><code>package Run;
  
  import javax.swing.*;
  
  import ThreeD.Display;
  import ThreeD.Launcher;
  import TowerDefence.Window;
  
  
  import java.awt.*;
  import java.awt.image.BufferedImage;
  
  public class Frame extends JFrame{
  
      public static String title = "Game";        
  
      /*public static int GetScreenWorkingWidth() {
          return java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().width;
      }*/
  
      /*public static int GetScreenWorkingHeight() {
          return java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds().height;
      }*/
  
      //public static Dimension size = new Dimension(GetScreenWorkingWidth(), GetScreenWorkingHeight());
      public static Dimension size = new Dimension(1280, 774);
  
  
      public static void main(String args[]) {
          Frame frame = new Frame();
  
          System.out.println("Width of the Frame Size is "+size.width+" pixels");
          System.out.println("Height of the Frame Size is "+size.height+" pixels");
      }
  
      public Frame() {
          setTitle(title);
          setSize(size);
          setResizable(false);
          setLocationRelativeTo(null);
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  
          ThreeDLauncher();
      }
  
      public void ThreeDLauncher() {
          //setLayout(new GridLayout(1, 1, 0, 0));
          setLayout(null);
  
          Launcher launcher = new Launcher();
          add(launcher);
  
          setVisible(true);       
      }
  
      public void TowerDefence() {
          setLayout(new GridLayout(1, 1, 0, 0));
  
          Window window = new Window(this);
          add(window);
  
          setVisible(true);
      }
  
      public void ThreeD() {
          BufferedImage cursor = new BufferedImage(16, 16, BufferedImage.TYPE_INT_ARGB);
          Cursor blank = Toolkit.getDefaultToolkit().createCustomCursor(cursor, new Point(0, 0), "blank");
  
          getContentPane().setCursor(blank);
  
          Display display = new Display();
          add(display);
  
          setVisible(true);
  
          display.start();
      }
  
  }
  </code></pre>
  
  <p>In Launcher</p>
  
  <pre><code>package ThreeD;
  
  import java.awt.Rectangle;
  
  import javax.swing.JButton;
  import javax.swing.JPanel;
  import javax.swing.UIManager;
  
  public class Launcher extends JPanel{   
      private JButton play, options, help, mainMenu;
      private Rectangle rplay, roptions, rhelp, rmainMenu;
  
      public Launcher() {
          drawButtons();
      }
  
      private void drawButtons() {
          try {
              UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
          } catch(Exception e) {
              e.printStackTrace();
          }
  
          play = new JButton("Play");
          options = new JButton("Options");
          help = new JButton("Help");
          mainMenu = new JButton("Main Menu");
  
          rplay = new Rectangle(20, 50, 80, 40);
          roptions = new Rectangle(20, 50, 80, 40);
          rhelp = new Rectangle(20, 50, 80, 40);
          rmainMenu = new Rectangle(20, 50, 80, 40);
  
          play.setBounds(rplay);
          options.setBounds(roptions);
          help.setBounds(rhelp);
          mainMenu.setBounds(rmainMenu);
  
          add(play);
          add(options);
          add(help);
          add(mainMenu);
      }
  }
  </code></pre>