/** Eliminar un nodo del grafoNoDirigido. */ @FXML protected void botonEliminar() { if (scene == null) { initializeGrafo(); } // Mostrar el codigo String tipo = getTipoString(); String codigoTexto = new Scanner( getClass() .getResourceAsStream( "/cl/cromer/estructuras/code/grafo" + tipo + "/eliminarNodo")) .useDelimiter("\\Z") .next(); codigoGrafo.setText(codigoTexto); if (valorGrafo.getText() != null && !valorGrafo.getText().trim().equals("")) { try { int i; for (i = 0; i < 5; i++) { if (grafoNodos[i] != null && grafoNodos[i].getValue() == Integer.valueOf(valorGrafo.getText())) { break; } } if (i != 5) { boolean exito = false; if (grafoTipos.getTipo() == Grafo.Tipos.NO_DIRIGIDO) { exito = noDirigido.removeNode(grafoNodos[i]); } else { for (int j = 0; j < dirigido.size(); j++) { Grafo.Vertex<GrafoNodo> vertex = dirigido.getVertex(j); if (vertex.getData().getValue() == Integer.valueOf(valorGrafo.getText())) { exito = dirigido.removeVertex(vertex); break; } } } if (exito) { grafoNodos[i] = null; valorGrafo.setText(""); generarGrafico(); } else { Main.mostrarError(resourceBundle.getString("grafoNoNodo"), resourceBundle); } } else { Main.mostrarError(resourceBundle.getString("grafoNoNodo"), resourceBundle); } } catch (NumberFormatException exception) { // El error no es fatal, sigue Main.mostrarError(resourceBundle.getString("grafoNoNumero"), resourceBundle); } } else { Main.mostrarError(resourceBundle.getString("grafoNoNumero"), resourceBundle); } }