예제 #1
0
  private void createImageViews() {
    for (int visibleX = 0; visibleX < getViewModel().getNbVisibleTilesX(); visibleX++) {
      for (int visibleY = 0; visibleY < getViewModel().getNbVisibleTilesY(); visibleY++) {
        ImageView node = spritesheet.createImageView(0);
        node.setLayoutX(getViewModel().visibleTileToScreenX(visibleX));
        node.setLayoutY(getViewModel().visibleTileToScreenY(visibleY));
        /*
        final int vX = visibleX;
        final int vY = visibleY;
        node.setOnMouseClicked(e -> {
        	double screenX = getViewModel().visibleTileToScreenX(vX) + e.getX();
        	double screenY = getViewModel().visibleTileToScreenY(vY) + e.getY();
        	double worldX = getViewModel().screenToWorldX(screenX);
        	double worldY = getViewModel().screenToWorldY(screenY);
        	double worldZ = getViewModel().getCurrentZLevel();
        	//double worldZ = getViewModel().getLowestVisibleZ(vX, vY);
        	//getUserInputHandler().worldPointClicked(worldX, worldY, worldZ, e);
        	//e.consume();
        });
        */
        visibleImageViews[getIndexForView(visibleX, visibleY)] = node;
        tilePanels[0].getChildren().add(node);

        showAsAnchored(
            visibleX, visibleY, getViewModel().getAnchorMatrix().getValueAt(visibleX, visibleY));
      }
    }
  }
예제 #2
0
  public void loadMapEditor(Group root) {
    Logic.Images.LoadImagesEditor li = new LoadImagesEditor();
    li.loadMapEditor();

    Group meGroup = new Group();
    ivHover = new ImageView(Objekte.getImgMapEditor().getSingleBorderHover());
    ivHover.setVisible(true);

    Gui.Listener.EditorHoverListener eHoverL = new Gui.Listener.EditorHoverListener(ivHover);

    for (int y = 0; y < Objekte.getMapData().getMapSizeY(); y++) {
      for (int x = 0; x < Objekte.getMapData().getMapSizeX(); x++) {

        ImageView iv = new ImageView(Objekte.getImgMapEditor().getSingleBorder());
        iv.setLayoutX(x * 25);
        iv.setLayoutY(y * 25);
        eHoverL.addImageView(iv);
        iv.hoverProperty().addListener(eHoverL);
        meGroup.getChildren().add(iv);
      }
    }

    root.getChildren().add(meGroup);
    root.getChildren().add(ivHover);

    loadEditorPalette(root);
    loadMapUI(root);
    loadEditorButtons(root);
    loadMapNumbers(root);
  }
예제 #3
0
  private boolean validarVentana() {
    boolean validada = true;

    cambiarWarning(false);

    if (fieldNombre.getText().equals("")) {
      cambiarWarning(true);
      imagenWarning.setLayoutY(fieldNombre.getLayoutY());
      textoWarning.setLayoutY(fieldNombre.getLayoutY() + 6f);
      imagenWarning.setLayoutX(fieldNombre.getLayoutX() + fieldNombre.getPrefWidth() + 4f);
      textoWarning.setLayoutX(imagenWarning.getLayoutX() + 27f);
      textoWarning.setText("Campo obligatorio");
      validada = false;
      fieldNombre.requestFocus();
    }
    if ((validada == true)
        & (comboTipoAgua.getSelectionModel().getSelectedIndex() == -1)
        & (tipoVentana == TipoVentana.NUEVO)) {
      cambiarWarning(true);
      imagenWarning.setLayoutY(comboTipoAgua.getLayoutY());
      textoWarning.setLayoutY(comboTipoAgua.getLayoutY() + 6f);
      imagenWarning.setLayoutX(comboTipoAgua.getLayoutX() + comboTipoAgua.getPrefWidth() + 4f);
      textoWarning.setLayoutX(imagenWarning.getLayoutX() + 27f);
      textoWarning.setText("Seleccione un tipo de agua");
      validada = false;
      comboTipoAgua.requestFocus();
    }

    if (validada == true) {
      if (Utilidades.validarFlotante(fieldTemperaturaMinima.getText())) {
        if (Utilidades.validarFlotante(fieldTemperaturaMaxima.getText())) {
          if (Float.parseFloat(fieldTemperaturaMinima.getText())
              > Float.parseFloat(fieldTemperaturaMaxima.getText())) {

            Utilidades.MensajeError(
                "Error de Temperatura", "La temperatura máxima ingresada es menor a la mínima.");
            fieldTemperaturaMinima.requestFocus();
            validada = false;
          }
        } else {

          Utilidades.MensajeError(
              "Valor inválido", "El valor ingresado en temperatura máxima debe ser un número");
          fieldTemperaturaMaxima.requestFocus();
          validada = false;
        }
      } else {
        Utilidades.MensajeError(
            "Valor inválido", "El valor ingresado en temperatura mínima debe ser un número");
        fieldTemperaturaMinima.requestFocus();
        validada = false;
      }
    }

    if (validada == true) {
      if (Utilidades.validarFlotante(fieldGhMinimo.getText())) {
        if (Utilidades.validarFlotante(fieldGhMaximo.getText())) {
          if (Float.parseFloat(fieldGhMinimo.getText())
              > Float.parseFloat(fieldGhMaximo.getText())) {

            Utilidades.MensajeError(
                "Error en parametro Gh", "El valor de Gh máxima ingresada es menor al mínimo.");
            fieldGhMinimo.requestFocus();
            validada = false;
          }
        } else {

          Utilidades.MensajeError(
              "Valor inválido", "El valor de Gh máximo ingresado debe ser un número");
          fieldGhMaximo.requestFocus();
          validada = false;
        }
      } else {
        Utilidades.MensajeError(
            "Valor inválido", "El valor de Gh mínimo ingresado debe ser un número");
        fieldGhMinimo.requestFocus();
        validada = false;
      }
    }

    if (validada == true) {
      if (Utilidades.validarFlotante(fieldKhMinimo.getText())) {
        if (Utilidades.validarFlotante(fieldKhMaximo.getText())) {
          if (Float.parseFloat(fieldKhMinimo.getText())
              > Float.parseFloat(fieldKhMaximo.getText())) {

            Utilidades.MensajeError(
                "Error en parametro Kh", "El valor de Kh máxima ingresada es menor al mínimo.");
            fieldKhMinimo.requestFocus();
            validada = false;
          }
        } else {

          Utilidades.MensajeError(
              "Valor inválido", "El valor de Kh máximo ingresado debe ser un número");
          fieldKhMaximo.requestFocus();
          validada = false;
        }
      } else {
        Utilidades.MensajeError(
            "Valor inválido", "El valor de Kh mínimo ingresado debe ser un número");
        fieldKhMinimo.requestFocus();
        validada = false;
      }
    }

    if (validada == true) {
      if (Utilidades.validarFlotante(fieldPhMinimo.getText())) {
        if (Utilidades.validarFlotante(fieldPhMaximo.getText())) {
          if (Float.parseFloat(fieldPhMinimo.getText())
              > Float.parseFloat(fieldPhMaximo.getText())) {

            Utilidades.MensajeError(
                "Error en parametro Ph", "El valor de Ph máxima ingresada es menor al mínimo.");
            fieldPhMinimo.requestFocus();
            validada = false;
          }
        } else {

          Utilidades.MensajeError(
              "Valor inválido", "El valor de Ph máximo ingresado debe ser un número");
          fieldPhMaximo.requestFocus();
          validada = false;
        }
      } else {
        Utilidades.MensajeError(
            "Valor inválido", "El valor de Ph mínimo ingresado debe ser un número");
        fieldPhMinimo.requestFocus();
        validada = false;
      }
    }

    if (tipoVentana == TipoVentana.NUEVO) {
      if (Sistema.getSistema().especieExiste(fieldNombre.getText())) {
        cambiarWarning(true);
        imagenWarning.setLayoutY(fieldNombre.getLayoutY());
        textoWarning.setLayoutY(fieldNombre.getLayoutY() + 6f);
        imagenWarning.setLayoutX(fieldNombre.getLayoutX() + fieldNombre.getPrefWidth() + 4f);
        textoWarning.setLayoutX(imagenWarning.getLayoutX() + 27f);
        textoWarning.setText("Nombre ya utilizado");
        validada = false;
        Utilidades.MensajeError(
            "Nombre inválido", "El nombre de la especie ya se encuentra utilizado");
        fieldNombre.requestFocus();
      }
    }
    return validada;
  }
예제 #4
0
 /*
  * Set the initial location of the image on the screen, based on X and Y coordinates.
  */
 private void setImageLocation(ImageView imageview, int xLocation, int yLocation) {
   imageview.setLayoutX(xLocation);
   imageview.setLayoutY(yLocation);
 }
 private void createImageView() {
   imageView = new ImageView();
   imageView.setImage(icon);
   imageView.setLayoutX((SIZE - icon.getWidth()) / PADDING);
   imageView.setLayoutY((SIZE - icon.getHeight()) / PADDING);
 }