// METODO QUE HABILITA EL CAMPO BUSQUEDA POR CODIGO DE EMPLEADO
 @FXML
 private void selecBuscarEmpPorCodigo(ActionEvent event) {
   txtBuscarEmpPorNombre.setEditable(false);
   txtBuscarEmpPorCodigo.setEditable(true);
   rbBuscarEmpPorNombre.setSelected(false);
   btnBuscarEmp.setDisable(false);
 }
 @FXML
 private void selecBuscarProvPorNombre(ActionEvent event) {
   txtBuscarProvPorNombre.setEditable(true);
   txtBuscarProvPorRut.setEditable(false);
   rbBuscarProvPorRut.setSelected(false);
   btnBuscarProv.setDisable(false);
 }
Пример #3
0
  /** @param fp */
  private void addItems(FlowPane fp) {

    for (StaffInfo staff : StaffWagesPersistence.wagesItems) {
      FlowPane horizontalPane = new FlowPane(Orientation.HORIZONTAL);
      horizontalPane.setHgap(30);
      horizontalPane.setAlignment(Pos.CENTER);
      final StaffInfo s = (StaffInfo) staff;
      // Items FLD -----------------------------------------------------------
      TextField itemName = new TextField();
      itemName.setMaxWidth(70);
      itemName.setText(s.staffName);
      itemName.setEditable(false);
      itemName.setPromptText("Item Name");
      horizontalPane.getChildren().add(itemName);
      TextField itemPrice = new TextField();
      itemPrice.setMaxWidth(70);
      itemPrice.setText(s.staffWages);
      itemPrice.setEditable(false);
      itemPrice.setPromptText("Price PKR");
      horizontalPane.getChildren().add(itemPrice);
      Button saveButt = new Button("Delete");
      horizontalPane.getChildren().add(saveButt);
      saveButt.setOnAction(
          new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent t) {
              StaffWagesPersistence.deleteStaff(s.staffName);
              primaryStage.close();
              new StaffWagesDialog();
            }
          });
      fp.getChildren().add(horizontalPane);
    }
  }
Пример #4
0
  /** @param fp */
  private void addItems(FlowPane fp) {

    for (CafeItemsInfo cafeItem : CafePricingPersistence.cafeItems) {
      FlowPane horizontalPane = new FlowPane(Orientation.HORIZONTAL);
      horizontalPane.setHgap(30);
      horizontalPane.setAlignment(Pos.CENTER);
      final CafeItemsInfo c = (CafeItemsInfo) cafeItem;
      // Items FLD -----------------------------------------------------------
      TextField itemName = new TextField();
      itemName.setMaxWidth(70);
      itemName.setText(c.itemName);
      itemName.setEditable(false);
      itemName.setPromptText("Item Name");
      horizontalPane.getChildren().add(itemName);
      TextField itemPrice = new TextField();
      itemPrice.setMaxWidth(70);
      itemPrice.setText(c.itemPrice + " Rs");
      itemPrice.setEditable(false);
      itemPrice.setPromptText("Price PKR");
      horizontalPane.getChildren().add(itemPrice);
      Button saveButt = new Button("Delete");
      horizontalPane.getChildren().add(saveButt);
      saveButt.setOnAction(
          new EventHandler<ActionEvent>() {

            @Override
            public void handle(ActionEvent t) {
              CafePricingPersistence.deleteCafeItems(c.itemName);
              primaryStage.close();
              new CafePricingDialog();
            }
          });
      fp.getChildren().add(horizontalPane);
    }
  }
Пример #5
0
  private HBox initGUIcenterRechtsZeile1() {
    HBox zeile = new HBox(10);

    Label id = new Label("");
    RahmenTitelWeiss rahmenId = new RahmenTitelWeiss("ID", id);

    TextField projektbezeichnung1 = new TextField();
    projektbezeichnung1.setPrefColumnCount(15);
    projektbezeichnung1.setEditable(false);
    RahmenTitelWeiss rahmenProjektbezeichnung1 =
        new RahmenTitelWeiss("Projektbezeichnung 1", projektbezeichnung1);

    TextField projektbezeichnung2 = new TextField();
    projektbezeichnung2.setPrefColumnCount(15);
    projektbezeichnung2.setEditable(false);
    RahmenTitelWeiss rahmenProjektbezeichnung2 =
        new RahmenTitelWeiss("Projektbezeichnung 2", projektbezeichnung2);

    TextField status = new TextField();
    status.setEditable(false);
    status.setMinWidth(200);
    RahmenTitelWeiss rahmenStatus = new RahmenTitelWeiss("Status", status);

    zeile.getChildren().add(rahmenId);
    zeile.getChildren().add(rahmenProjektbezeichnung1);
    zeile.getChildren().add(rahmenProjektbezeichnung2);
    zeile.getChildren().add(rahmenStatus);
    return zeile;
  }
Пример #6
0
  private VBox createStatePane() {
    VBox stateBox = new VBox();
    stateBox.setSpacing(10);
    stateBox.setPadding(new Insets(10, 20, 0, 0));
    stateBox.setAlignment(Pos.TOP_CENTER);
    Label levelLabel = new Label("level");
    Label lineLabel = new Label("line");
    Label scoreLabel = new Label("score");
    levelField.setMaxWidth(120);
    lineField.setMaxWidth(120);
    scoreField.setMaxWidth(120);
    levelField.setEditable(false);
    lineField.setEditable(false);
    scoreField.setEditable(false);

    levelField.setText(level + "");
    lineField.setText(numberOfLines + "");
    scoreField.setText(score + "");

    VBox.setMargin(nextGrid, new Insets(0, 0, 80, 0));
    stateBox
        .getChildren()
        .addAll(nextGrid, levelLabel, levelField, lineLabel, lineField, scoreLabel, scoreField);
    return stateBox;
  }
 // METODO ENCARGADO DE HABILITAR LOS CAMPOS PARA UN NUEVO EMPLEADO
 @FXML
 private void nuevoEmpleado(ActionEvent event) {
   limpiarCamposEmp();
   txtNombreEmpleado.setEditable(true);
   txtApellidoEmpleado.setEditable(true);
   ckbGerente.setDisable(false);
   ckbJefeDeBodega.setDisable(false);
   ckbGerente.setSelected(true);
   txtTelefonoEmpleado.setEditable(true);
   txtEmailEmpleado.setEditable(true);
   rbEstadoActivoEmpleado.setDisable(false);
   btnGuardarEmpleado.setDisable(false);
   btnNuevoEmpleado.setDisable(true);
 }
 // METODO ENCARGADO LIMPIAR CAMPOS DE BUSQUEDA
 @FXML
 private void limpiarBusquedaEmpleado(ActionEvent event) {
   tblMostrarUsuarioEmp.getColumns().clear();
   txtBuscarEmpPorNombre.setText("");
   txtBuscarEmpPorCodigo.setText("");
   btnBuscarEmp.setDisable(true);
   btnNuevoEmpleado.setDisable(true);
   btnModificarEmpleado.setDisable(true);
   txtBuscarEmpPorNombre.setEditable(false);
   txtBuscarEmpPorCodigo.setEditable(false);
   rbBuscarEmpPorNombre.setSelected(false);
   rbBuscarEmpPorCodigo.setSelected(false);
   lblMensajeBd.setText("");
   limpiarCamposEmp();
   limpiarMensajesEmp();
 }
Пример #9
0
  @Override
  public void start(Stage primaryStage) throws Exception {
    BorderPane root = new BorderPane();
    HBox message = new HBox();

    userText = new TextField();
    userText.setEditable(false);
    userText.setOnAction(
        e -> {
          sendMessage(e.getEventType().toString());
          userText.setText("");
        });

    message.getChildren().add(userText);
    message.setAlignment(Pos.CENTER);
    message.setPadding(new Insets(10));

    chatWindow = new TextArea();
    chatWindow.setPrefSize(300, 150);
    chatWindow.setVisible(true);

    root.setCenter(chatWindow);
    root.setBottom(message);

    startRunning();
    primaryStage.setTitle("Instant Messenger");
    primaryStage.setScene(new Scene(root, 300, 275));
    primaryStage.show();
  }
 // METODO ENCARGADO DE LIMPIAR LA BUSQUEDA DE USUARIO JEFE SUCURSAL
 @FXML
 private void limpiarBusquedaSuc(ActionEvent event) {
   tblMostrarSucursales.getColumns().clear();
   txtBuscarSucPorNombre.setText("");
   txtBuscarSucPorCodigo.setText("");
   btnBuscarSuc.setDisable(true);
   btnNuevoJefeSuc.setDisable(true);
   txtBuscarSucPorNombre.setEditable(false);
   txtBuscarSucPorCodigo.setEditable(false);
   btnModificarJefeSuc.setDisable(false);
   rbBuscarSucPorNombre.setSelected(false);
   rbBuscarSucPorCodigo.setSelected(false);
   lblMensajesSuc.setText("");
   limpiarCamposSuc();
   limpiarMensajesSuc();
 }
Пример #11
0
  @Override
  public void initialize(URL location, ResourceBundle resources) {

    ImageView backImgBtnLayout =
        createImageBtnLayout(
            Constants.BACK_IMAGE_PATH, Constants.BACK_IMAGE_WIDTH, Constants.BACK_IMAGE_HEIGHT);
    backBtn.setGraphic(backImgBtnLayout);
    ImageView addImgBtnLayout =
        createImageBtnLayout(
            Constants.ADD_BUTTON_IMAGE_PATH, Constants.ADD_IMAGE_WIDTH, Constants.ADD_IMAGE_HEIGHT);
    addButton.setGraphic(addImgBtnLayout);

    cancelBtn.setOnAction(
        event -> {
          showWindow(true, false);
          setTitle(Constants.CHARACTER_SCENE_HEADER.toUpperCase());
        });

    levelField.setEditable(false);

    classBox.setItems(
        FXCollections.observableArrayList(
            "Guardin",
            "Assassin",
            "Archmage",
            "Necromancer",
            "Prophet",
            "Shaman",
            "Druid",
            "Ranger"));
    characterRaceBox.setItems(
        FXCollections.observableArrayList(
            "Human", "Gnome", "Dwarf", "Elf", "Eladin", "Tiefling", "Deva", "Goliath"));
  }
 /**
  * Desactive le textfield passe en parametre
  *
  * @param textField le textfield a desactiver
  */
 public static void desactiverTextField(TextField textField) {
   textField.setEditable(false);
   textField.setMouseTransparent(true);
   textField.setFocusTraversable(false);
   textField.setText("");
   textField.setStyle("-fx-background-color:#cccccc");
 }
Пример #13
0
 private TextField buildField(String text, double maxWidth) {
   TextField tf = new TextField(text);
   tf.setEditable(false);
   tf.setMinWidth(maxWidth);
   tf.setMaxWidth(maxWidth);
   return tf;
 }
  public TextFieldWithCopyIcon() {
    Label copyIcon = new Label();
    copyIcon.setLayoutY(3);
    copyIcon.getStyleClass().add("copy-icon");
    Tooltip.install(copyIcon, new Tooltip("Copy to clipboard"));
    AwesomeDude.setIcon(copyIcon, AwesomeIcon.COPY);
    AnchorPane.setRightAnchor(copyIcon, 0.0);
    copyIcon.setOnMouseClicked(
        e -> {
          String text = getText();
          if (text != null && text.length() > 0) {
            String copyText;
            if (copyWithoutCurrencyPostFix) {
              String[] strings = text.split(" ");
              if (strings.length > 1) copyText = strings[0]; // exclude the BTC postfix
              else copyText = text;
            } else {
              copyText = text;
            }
            Utilities.copyToClipboard(copyText);
          }
        });
    textField = new TextField();
    textField.setEditable(false);
    textField.textProperty().bindBidirectional(text);
    AnchorPane.setRightAnchor(copyIcon, 5.0);
    AnchorPane.setRightAnchor(textField, 30.0);
    AnchorPane.setLeftAnchor(textField, 0.0);
    textField.focusTraversableProperty().set(focusTraversableProperty().get());
    // TODO app wide focus
    // focusedProperty().addListener((ov, oldValue, newValue) -> textField.requestFocus());

    getChildren().addAll(textField, copyIcon);
  }
Пример #15
0
 public LabeledProgressBar(VBox vbox) {
   this.vbox = vbox;
   textField = new TextField();
   textField.setEditable(false);
   progressBar = new ProgressBar();
   progressBar.setPrefWidth(180.0);
   add();
 }
  // METODO ENCARGADO DE LIMPIAR LA BUSQUEDA DE PROVEEDORES
  @FXML
  private void limpiarBusquedaProv(ActionEvent event) {

    tblMostrarProveedores.getColumns().clear();
    txtBuscarProvPorNombre.setText("");
    txtBuscarProvPorRut.setText("");
    btnBuscarProv.setDisable(true);
    btnNuevoProveedor.setDisable(true);
    txtBuscarProvPorNombre.setEditable(false);
    txtBuscarProvPorRut.setEditable(false);
    btnModificarProveedor.setDisable(false);
    rbBuscarProvPorNombre.setSelected(false);
    rbBuscarProvPorRut.setSelected(false);
    lblMensajesProv.setText("");
    limpiarCamposProv();
    limpiarMensajesProv();
  }
Пример #17
0
 private static void ableToType(final boolean permission) {
   // Creating a thread
   Platform.runLater(
       () -> {
         // Able to type now
         userText.setEditable(permission);
       });
 }
  // METODO ENCARGADO DE CARGAR LOS DATOS AL FORMULARIO EEMPLEADOS SEGUN EL ITEM SELECCIONADO
  private void cargarDatosEmpleadoAlFormulario(String dato) {

    ResultSet cargaDatosParaFormularioEmpeados = usuarioDao.datosParaFormularioEmpleados(dato);

    try {

      while (cargaDatosParaFormularioEmpeados.next()) {

        txtNombreEmpleado.setText(
            cargaDatosParaFormularioEmpeados.getString("NOMBRE_USUARIO").trim());
        txtApellidoEmpleado.setText(cargaDatosParaFormularioEmpeados.getString("APELLIDOS").trim());
        rbEstadoActivoEmpleado.setDisable(false);
        rbEstadoInactivoEmpleado.setDisable(false);
        String cargo = cargaDatosParaFormularioEmpeados.getString("CARGO").trim();
        ckbGerente.setDisable(false);
        ckbJefeDeBodega.setDisable(false);
        if (cargo.equals("Gerente")) {
          ckbGerente.setSelected(true);
        } else {
          ckbJefeDeBodega.setSelected(true);
        }
        txtTelefonoEmpleado.setText(cargaDatosParaFormularioEmpeados.getString("TELEFONO").trim());
        txtEmailEmpleado.setText(cargaDatosParaFormularioEmpeados.getString("E_MAIL").trim());
        int estadoEmpleado = cargaDatosParaFormularioEmpeados.getInt("ESTADOID");
        rbEstadoActivoEmpleado.setDisable(false);
        rbEstadoInactivoEmpleado.setDisable(false);
        if (estadoEmpleado == 1) {
          rbEstadoActivoEmpleado.setSelected(true);
        } else {
          rbEstadoInactivoEmpleado.setSelected(true);
        }
      }
      cargaDatosParaFormularioEmpeados.close();
    } catch (SQLException ex) {
      System.out.println("Error " + ex);
    }

    txtNombreEmpleado.setEditable(true);
    txtApellidoEmpleado.setEditable(true);
    txtTelefonoEmpleado.setEditable(true);
    txtEmailEmpleado.setEditable(true);
    btnModificarEmpleado.setDisable(false);
    ckbGerente.setDisable(true);
    ckbJefeDeBodega.setDisable(true);
  }
 private void limpiarCamposEmp() {
   txtNombreEmpleado.setText("");
   txtNombreEmpleado.setEditable(false);
   txtApellidoEmpleado.setText("");
   txtApellidoEmpleado.setEditable(false);
   ckbGerente.setSelected(false);
   ckbGerente.setDisable(true);
   ckbJefeDeBodega.setSelected(false);
   ckbJefeDeBodega.setDisable(true);
   txtTelefonoEmpleado.setText("");
   txtTelefonoEmpleado.setEditable(false);
   txtEmailEmpleado.setText("");
   txtEmailEmpleado.setEditable(false);
   rbEstadoActivoEmpleado.setSelected(false);
   rbEstadoActivoEmpleado.setDisable(true);
   rbEstadoInactivoEmpleado.setSelected(false);
   rbEstadoInactivoEmpleado.setDisable(true);
 }
Пример #20
0
 @Override
 public Node getDisplayNode() {
   if (displayNode == null) {
     displayNode = getEditableInputNode();
     displayNode.getStyleClass().add("date-picker-display-node");
     updateDisplayNode();
   }
   displayNode.setEditable(jfxDatePicker.isEditable());
   return displayNode;
 }
Пример #21
0
  private void setEditMode(boolean edit) {
    studentList.setMouseTransparent(edit);
    needToPay.setMouseTransparent(edit);
    filter.setDisable(edit);
    submit.setDisable(edit);
    pay.setDisable(edit);
    cancel.setVisible(edit);

    name.setEditable(edit);
    nrc.setEditable(edit);
    phone.setEditable(edit);
    email.setEditable(edit);
    address.setEditable(edit);

    male.setDisable(!edit);
    female.setDisable(!edit);
    dob.setDisable(!edit);
    townships.setDisable(!edit);
  }
Пример #22
0
 public FxScrollPreview() {
   titleDisplay = new TextField("");
   titleDisplay.setEditable(false);
   titleDisplay.getStyleClass().add("scroll-title");
   content = new WebView();
   content.getStyleClass().add("scroll-preview-browser");
   pane = new BorderPane();
   pane.getStyleClass().add("scroll-preview-pane");
   pane.setTop(titleDisplay);
   pane.setCenter(content);
 }
Пример #23
0
  /**
   * Push player score to HashMap for next working.
   *
   * @param playerScore - playerScore
   */
  public void saveScore(Integer playerScore) {
    String player = playerName.getText();
    currentName = player;
    currentScore = playerScore;
    playerName.setEditable(false);

    setTrollMessage();

    GameScoreboard.scoreMap.put(player, playerScore);
    score.writeScoreInFile(player, playerScore);
    return;
  }
Пример #24
0
  private String showCreateOrRenameDialog(
      final String title,
      final String headerText,
      final File parent,
      final String name,
      final NameVerifier nameVerifier) {
    final Alert alert = new Alert(AlertType.CONFIRMATION);
    alert.setTitle(title);
    alert.setHeaderText(headerText);

    final GridPane contentContainer = new GridPane();
    contentContainer.setPadding(new Insets(8));
    contentContainer.setHgap(8);
    contentContainer.setVgap(8);

    contentContainer.add(new Label("Parent:"), 0, 0);
    final TextField parentTextField = new TextField();
    parentTextField.setEditable(false);

    parentTextField.setText(parent.getAbsolutePath());
    contentContainer.add(parentTextField, 1, 0);

    contentContainer.add(new Label("Name:"), 0, 1);

    final TextField dirNameTextField = new TextField();
    dirNameTextField.setText(name);
    GridPane.setHgrow(dirNameTextField, Priority.ALWAYS);
    contentContainer.add(dirNameTextField, 1, 1);

    final InvalidationListener updateDisableInvalidationListener =
        (observable) -> {
          final String dirName = dirNameTextField.getText();
          final Node okButton = alert.getDialogPane().lookupButton(ButtonType.OK);
          if (isEmpty(dirName)) okButton.setDisable(true);
          else {
            final boolean nameAcceptable = nameVerifier.isNameAcceptable(dirName);
            okButton.setDisable(!nameAcceptable);
          }
        };
    dirNameTextField.textProperty().addListener(updateDisableInvalidationListener);

    alert.getDialogPane().setContent(contentContainer);
    alert.setOnShowing(
        (event) -> {
          dirNameTextField.requestFocus();
          dirNameTextField.selectAll();
          updateDisableInvalidationListener.invalidated(null);
        });

    if (alert.showAndWait().get() == ButtonType.OK) return dirNameTextField.getText();
    else return null;
  }
Пример #25
0
  private HBox initGUIcenterRechtsZeile5() {
    HBox zeile = new HBox(10);

    TextField email = new TextField();
    email.setPrefColumnCount(21);
    email.setEditable(false);
    RahmenTitelWeiss rahmenEmail = new RahmenTitelWeiss("Email", email);

    Button knopfEmail = new Button("Email");

    TextField homepage = new TextField();
    homepage.setPrefColumnCount(21);
    homepage.setEditable(false);
    RahmenTitelWeiss rahmenHomepage = new RahmenTitelWeiss("Homepage", homepage);

    Button knopfWeb = new Button("Web");

    zeile.getChildren().add(rahmenEmail);
    zeile.getChildren().add(knopfEmail);
    zeile.getChildren().add(rahmenHomepage);
    zeile.getChildren().add(knopfWeb);
    return zeile;
  }
Пример #26
0
  public static Tuple2<Label, TextField> addLabelTextField(
      GridPane gridPane, int rowIndex, String title, String value, double top) {
    Label label = addLabel(gridPane, rowIndex, title, top);

    TextField textField = new TextField(value);
    textField.setEditable(false);
    textField.setMouseTransparent(true);
    textField.setFocusTraversable(false);
    GridPane.setRowIndex(textField, rowIndex);
    GridPane.setColumnIndex(textField, 1);
    GridPane.setMargin(textField, new Insets(top, 0, 0, 0));
    gridPane.getChildren().add(textField);

    return new Tuple2<>(label, textField);
  }
 // METODO ENCARGADO DE HABILITAR LOS CAMPOS PARA EL REGISTRO DE UN NUEVO JEFE DE SUCURSAL
 @FXML
 private void nuevoJefeSuc(ActionEvent event) {
   limpiarCamposSuc();
   txtNombreJefeSuc.setEditable(true);
   txtApellidoJefeSuc.setEditable(true);
   txtNombreSuc.setEditable(true);
   txtCiudadSucursal.setEditable(true);
   txtDireccionSuc.setEditable(true);
   txtTelefonoSuc.setEditable(true);
   txtEmailSuc.setEditable(true);
   rbEstadoActivoSuc.setDisable(false);
   btnGuardarJefeSuc.setDisable(false);
   btnNuevoJefeSuc.setDisable(true);
 }
 @FXML
 private void nuevoProveedor(ActionEvent event) {
   limpiarCamposProv();
   txtNombreProveedor.setEditable(true);
   txtRutProveedor.setEditable(true);
   txtCiudadProveedor.setEditable(true);
   txtDireccionProveedor.setEditable(true);
   txtTelefonoProveedor.setEditable(true);
   txtEmailProveedor.setEditable(true);
   rbEstadoActivoProv.setDisable(false);
   btnGuardarProveedor.setDisable(false);
   cbTipos.setDisable(false);
   btnNuevoProveedor.setDisable(true);
 }
Пример #29
0
  /**
   * Method provides opening of game over menu. It will display player score and offer to user for
   * score saving.
   *
   * @param score - player score.
   */
  public void openGameOverMessage(Integer score) {
    setTranslateX(300);
    setTranslateY(110);
    setPrefSize(400, 340);

    gameOverMenu.setTranslateX(60);
    gameOverMenu.setTranslateY(220);
    gameOverMenu.setStyle("-fx-background-color: grey;");

    gameOverMessageBlock.setWidth(400);
    gameOverMessageBlock.setHeight(340);
    gameOverMessageBlock.setArcWidth(30);
    gameOverMessageBlock.setArcHeight(30);
    gameOverMessageBlock.setOpacity(0.7);

    gameOverMessage.setTranslateX(105);
    gameOverMessage.setTranslateY(65);
    gameOverMessage.setFill(Color.RED);
    gameOverMessage.setFont(Font.loadFont(GameFiles.SENSEI, 40));
    gameOverMessage.setText("GAME OVER");

    gameOverScore.setTranslateX(100);
    gameOverScore.setTranslateY(95);
    gameOverScore.setFill(Color.WHITE);
    gameOverScore.setTextAlignment(TextAlignment.CENTER);
    gameOverScore.setFont(Font.loadFont(GameFiles.SENSEI, 24));
    gameOverScore.setText("Your score:\n" + score.toString() + "\nEnter your name:");

    playerName.setTranslateX(79);
    playerName.setTranslateY(170);
    playerName.setEditable(true);
    playerName.setFont(Font.loadFont(GameFiles.SENSEI, 20));
    playerName.setPrefSize(240, 40);
    playerName.setStyle("-fx-background-color: grey;");

    gameOverBox
        .getChildren()
        .addAll(gameOverMessageBlock, gameOverMessage, gameOverScore, playerName, gameOverMenu);

    getChildren().add(gameOverBox);
    return;
  }
Пример #30
0
  private static void addRow(
      String labelText, String textFormText, Integer size, VBox content, boolean addToEnd) {
    HBox formRow = new HBox(size);
    formRow.getStyleClass().add("popover-form");
    Label rowLabel = new Label(labelText);
    rowLabel.getStyleClass().add("popover-form-label");
    TextField rowTF = new TextField();
    rowTF.getStyleClass().add("popover-form-textfield-inactive");
    rowTF.setText(textFormText);
    rowTF.setEditable(false);

    // do you just add it to the form for befor the row with the button
    if (addToEnd) {
      formRow.getChildren().addAll(rowLabel, rowTF);
      content.getChildren().add(content.getChildren().size() - 1, formRow);
    } else {
      formRow.getChildren().addAll(rowLabel, rowTF);
      content.getChildren().add(formRow);
    }
  }