title: Set Position of Text Field in Java?
body: <p>I'm currently writing a program that requires user input within the Frame.  Is there a simple way to set the position of an input text field (in X and Y coordinates)?  The constructor and mutator methods of the JTextField doesn't seem to be able to do this.</p>
  
  <p>This is the code:</p>
  
  <pre><code>import java.awt.image.*;
  import java.io.*;
  import java.util.*;
  import java.awt.*;
  import java.awt.event.*;
  import java.awt.geom.*;
  import java.net.*;
  
  class labMain extends Frame implements KeyListener, MouseListener, MouseMotionListener {
  
      String screenState;
  
      Color bfi = new Color(155, 48, 255);
      Color bfh = new Color(155, 48, 255, 200);
      Color bfs = new Color(155, 48, 255, 200);
      Color bbi = new Color(255, 255, 255);
      Color bbh = new Color(5, 12, 15);
      Color bbs = new Color(220, 20, 60);
  
      quadButton startSession, gotoUser, gotoInventory, gotoCalendar, gotoProcedures, gotoResults, gotoEmergencies;
  
      quadButton addUsers, findUsers;
  
      int mouseX, mouseY;
  
      javax.swing.Timer mainT;
  
      BufferedImage imageBuffer;
      Graphics2D  graphicsBuffer;
      boolean[] keys = new boolean[525];
  
      public labMain() {
  
          setTitle("uwDNA Lab Pro");
          setSize(new Dimension(1365, 765));
  
          this.addWindowListener (
  
                  new WindowAdapter() {
                      public void windowClosing(WindowEvent e) {
                          labMain.this.windowClosed();
                      }
                  }
  
          );
  
          setFocusable(true);
          addKeyListener(this);
          addMouseListener(this);
          addMouseMotionListener(this);
  
      }
  
      protected void windowClosed() { System.exit(0); }
  
      public void runLab() throws IOException {
  
          imageBuffer = (BufferedImage) createImage(getWidth(), getHeight());
          graphicsBuffer = (Graphics2D) imageBuffer.getGraphics();
  
          screenState = "Main";
  
          mainScreenInit();
          usersScreenInit();
          addUsersScreenInit();
  
          ActionListener mainS = new ActionListener() {
  
              public void actionPerformed(ActionEvent evt) {
  
                  detectMouseHover();
  
                  paint(getGraphics());
  
              }
  
          };
  
          mainT = new javax.swing.Timer(1, mainS);
          mainT.start();
  
      }
  
      public void detectMouseHover() {
  
          if (startSession.intersects(mouseX, mouseY)) {
  
              startSession.setState(aButton.isHover);
  
          }
  
          else {
  
              startSession.setState(aButton.isIdle);
  
          }
  
          if (gotoUser.intersects(mouseX, mouseY)) {
  
              gotoUser.setState(aButton.isHover);
  
          }
  
          else {
  
              gotoUser.setState(aButton.isIdle);
  
          }
  
          if (gotoInventory.intersects(mouseX, mouseY)) {
  
              gotoInventory.setState(aButton.isHover);
  
          }
  
          else {
  
              gotoInventory.setState(aButton.isIdle);
  
          }
  
          if (gotoCalendar.intersects(mouseX, mouseY)) {
  
              gotoCalendar.setState(aButton.isHover);
  
          }
  
          else {
  
              gotoCalendar.setState(aButton.isIdle);
  
          }
  
          if (gotoProcedures.intersects(mouseX, mouseY)) {
  
              gotoProcedures.setState(aButton.isHover);
  
          }
  
          else {
  
              gotoProcedures.setState(aButton.isIdle);
  
          }
  
          if (gotoResults.intersects(mouseX, mouseY)) {
  
              gotoResults.setState(aButton.isHover);
  
          }
  
          else {
  
              gotoResults.setState(aButton.isIdle);
  
          }
  
          if (gotoEmergencies.intersects(mouseX, mouseY)) {
  
              gotoEmergencies.setState(aButton.isHover);
  
          }
  
          else {
  
              gotoEmergencies.setState(aButton.isIdle);
  
          }
  
          if (addUsers.intersects(mouseX, mouseY)) {
  
              addUsers.setState(aButton.isHover);
  
          }
  
          else {
  
              addUsers.setState(aButton.isIdle);
  
          }
  
          if (findUsers.intersects(mouseX, mouseY)) {
  
              findUsers.setState(aButton.isHover);
  
          }
  
          else {
  
              findUsers.setState(aButton.isIdle);
  
          }
  
      }
  
      public void mainScreenInit() {
  
          startSession = new quadButton(getWidth() / 2, getHeight() / 2, 400, 200, 10, Font.BOLD, 40, "Start Lab Session", "Arial", bfi, bfh, bfs, bbi, bbh, bbs);
  
          int bbWidth = 200;
          int bbHeight = bbWidth / 2;
          int bbFontStyle = Font.PLAIN;
          int bbFontSize = 20;
          int bbBorderWidth = 5;
          String bbFontName = "Arial";
  
          gotoUser = new quadButton(((getWidth() - bbWidth * 6) / 7) * 1 + (bbWidth / 2 * 1), (getHeight() * 3 / 4) + 20, bbWidth, bbHeight, bbBorderWidth, bbFontStyle, bbFontSize, "Users", bbFontName, bfi, bfh, bfs, bbi, bbh, bbs);
          gotoInventory = new quadButton(((getWidth() - bbWidth * 6) / 7) * 2 + (bbWidth / 2 * 3), (getHeight() * 3 / 4) + 20, bbWidth, bbHeight, bbBorderWidth, bbFontStyle, bbFontSize, "Inventory", bbFontName, bfi, bfh, bfs, bbi, bbh, bbs);
          gotoCalendar = new quadButton(((getWidth() - bbWidth * 6) / 7) * 3 + (bbWidth / 2 * 5), (getHeight() * 3 / 4) + 20, bbWidth, bbHeight, bbBorderWidth, bbFontStyle, bbFontSize, "Calendar", bbFontName, bfi, bfh, bfs, bbi, bbh, bbs);
          gotoProcedures = new quadButton(((getWidth() - bbWidth * 6) / 7) * 4 + (bbWidth / 2 * 7), (getHeight() * 3 / 4) + 20, bbWidth, bbHeight, bbBorderWidth, bbFontStyle, bbFontSize, "Procedures", bbFontName, bfi, bfh, bfs, bbi, bbh, bbs);
          gotoResults = new quadButton(((getWidth() - bbWidth * 6) / 7) * 5 + (bbWidth / 2 * 9), (getHeight() * 3 / 4) + 20, bbWidth, bbHeight, bbBorderWidth, bbFontStyle, bbFontSize, "Results", bbFontName, bfi, bfh, bfs, bbi, bbh, bbs);
          gotoEmergencies = new quadButton(((getWidth() - bbWidth * 6) / 7) * 6 + (bbWidth / 2 * 11), (getHeight() * 3 / 4) + 20, bbWidth, bbHeight, bbBorderWidth, bbFontStyle, bbFontSize, "Emergencies", bbFontName, bfi, bfh, bfs, bbi, bbh, bbs);
  
      }
  
      public void usersScreenInit() {
  
          int ubWidth = 400;
          int ubHeight = ubWidth / 2;
          int ubFontStyle = Font.BOLD;
          int ubFontSize = 20;
          int ubBorderWidth = 10;
          String ubFontName = "Arial";
  
          addUsers = new quadButton(((getWidth() - ubWidth * 2) / 3) * 1 + (ubWidth / 2 * 1), (getHeight() * 9 / 16) + 20, ubWidth, ubHeight, ubBorderWidth, ubFontStyle, ubFontSize, "Add Users", ubFontName, bfi, bfh, bfs, bbi, bbh, bbs);
          findUsers = new quadButton(((getWidth() - ubWidth * 2) / 3) * 2 + (ubWidth / 2 * 3), (getHeight() * 9 / 16) + 20, ubWidth, ubHeight, ubBorderWidth, ubFontStyle, ubFontSize, "Find Users", ubFontName, bfi, bfh, bfs, bbi, bbh, bbs);
  
      }
  
      public void addUsersScreenInit() {
  
  
  
      }
  
      public void keyPressed(KeyEvent e) {
  
  
  
      }
  
      public void keyReleased(KeyEvent e) {
  
  
  
      }
  
      public void keyTyped(KeyEvent e) {}
  
      public void mousePressed(MouseEvent e) {
  
  
  
      }
  
      public void mouseReleased(MouseEvent e) {
  
  
  
      }
  
      public void mouseEntered(MouseEvent e) {
  
  
  
      }
  
      public void mouseExited(MouseEvent e) {
  
  
  
      }
  
      public void mouseClicked(MouseEvent e) {
  
          if (screenState == "Main") {
  
              if (gotoUser.intersects(e.getX(), e.getY())) {
  
                  screenState = "Users";
  
              }
  
          }
  
          if (screenState == "Users") {
  
              if (addUsers.intersects(e.getX(), e.getY())) {
  
                  screenState = "addUsers";
  
              }
  
          }
  
      }
  
      public void mouseMoved(MouseEvent e) {
  
          mouseX = e.getX();
          mouseY = e.getY();
  
      }
  
      public void mouseDragged(MouseEvent e) {
  
  
  
      }
  
      public void paint(Graphics g) {
  
          Graphics2D g2 = (Graphics2D) g;
  
          Color bkgBlue = new Color(102, 170, 205);
  
          graphicsBuffer.setColor(bkgBlue);
          graphicsBuffer.fillRect(0, 0, getWidth(), getHeight());
  
          setBackground(bkgBlue);
  
          BufferedImage bkg;
  
          if (screenState.equals("Main")) {
  
              try {
  
                  graphicsBuffer.setColor(Color.white);
                  graphicsBuffer.fillRect((getWidth() / 2) - 455, (getHeight() / 2) - 355, 910, 175);
  
                  URL url = new URL("http://i.imgur.com/iLm99QZ.jpg?1?9353");
                  bkg = javax.imageio.ImageIO.read(url);
                  graphicsBuffer.drawImage(bkg, (getWidth() / 2) - 450, (getHeight() / 2) - 350, this);
  
              }
              catch (IOException e) { System.err.println(e); }
  
              startSession.paint(graphicsBuffer);
              gotoUser.paint(graphicsBuffer);
              gotoInventory.paint(graphicsBuffer);
              gotoCalendar.paint(graphicsBuffer);
              gotoProcedures.paint(graphicsBuffer);
              gotoResults.paint(graphicsBuffer);
              gotoEmergencies.paint(graphicsBuffer);
  
          }
  
          if (screenState.equals("Users")) {
  
              try {
  
                  graphicsBuffer.setColor(Color.white);
                  graphicsBuffer.fillRect((getWidth() / 2) - 455, (getHeight() / 2) - 355, 910, 175);
  
                  URL url = new URL("http://i.imgur.com/nUrYx7q.jpg?1");
                  bkg = javax.imageio.ImageIO.read(url);
                  graphicsBuffer.drawImage(bkg, (getWidth() / 2) - 450, (getHeight() / 2) - 350, this);
  
              }
              catch (IOException e) { System.err.println(e); }
  
              addUsers.paint(graphicsBuffer);
              findUsers.paint(graphicsBuffer);
  
          }
  
          if (screenState.equals("addUsers")) {
  
              try {
  
                  graphicsBuffer.setColor(Color.white);
                  graphicsBuffer.fillRect((getWidth() / 2) - 455, (getHeight() / 2) - 355, 910, 175);
  
                  URL url = new URL("http://i.imgur.com/GDCTw65.jpg?1");
                  bkg = javax.imageio.ImageIO.read(url);
                  graphicsBuffer.drawImage(bkg, (getWidth() / 2) - 450, (getHeight() / 2) - 350, this);
  
              }
              catch (IOException e) { System.err.println(e); }
  
          }
  
          g2.drawImage(imageBuffer, 10, 25, getWidth(), getHeight(), this);
  
      }
  
  }
  </code></pre>