Cleanup.
This commit is contained in:
@@ -2,13 +2,14 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Crear una estructura de dato de tipo array.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class Array {
|
||||
/**
|
||||
* El array.
|
||||
*/
|
||||
private String array[];
|
||||
final private String array[];
|
||||
|
||||
/**
|
||||
* La cantidad de elementos en el array.
|
||||
@@ -22,6 +23,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Crear el array con el tamaño pasador por argumento.
|
||||
*
|
||||
* @param tamano int: El tamaño del array a crear.
|
||||
*/
|
||||
public Array(int tamano) {
|
||||
@@ -32,6 +34,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Devolver la cantidad de elementos en el array.
|
||||
*
|
||||
* @return int: Devolver la cantidad de elementos en el array.
|
||||
*/
|
||||
public int size() {
|
||||
@@ -40,6 +43,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Dovolver si el tipo es ordenado o no.
|
||||
*
|
||||
* @return boolean: Si el tipo de array es ordenado.
|
||||
*/
|
||||
public boolean isOrdered() {
|
||||
@@ -48,6 +52,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Cambiar el tipo de array entre ordenado o simple.
|
||||
*
|
||||
* @param ordered boolean: Si es verdad, es de tipo ordenado, sino el tipo es simple.
|
||||
*/
|
||||
public void setOrdered(boolean ordered) {
|
||||
@@ -56,6 +61,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Insertar un valor al array.
|
||||
*
|
||||
* @param valor int: El valor a insertar.
|
||||
* @return boolean: Verdad si fue exitoso, sino falso.
|
||||
*/
|
||||
@@ -76,6 +82,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Eliminar un valor del array si existe.
|
||||
*
|
||||
* @param valor int: El valor a eliminar.
|
||||
* @return boolean: Verdad si fue encontrado y borrado, sino falso.
|
||||
*/
|
||||
@@ -85,7 +92,7 @@ final public class Array {
|
||||
if (array[i] != null && array[i].equals(String.valueOf(valor))) {
|
||||
// Eliminar el valor
|
||||
array[i] = null;
|
||||
borrado=true;
|
||||
borrado = true;
|
||||
size--;
|
||||
if (ordered) {
|
||||
for (int j = i; j < array.length; j++) {
|
||||
@@ -94,7 +101,7 @@ final public class Array {
|
||||
array[j] = array[j + 1];
|
||||
}
|
||||
}
|
||||
array[array.length-1] = null;
|
||||
array[array.length - 1] = null;
|
||||
}
|
||||
else {
|
||||
break;
|
||||
@@ -106,6 +113,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Buscar si existe un valor dentro el array.
|
||||
*
|
||||
* @param valor int: Valor a buscar.
|
||||
* @return int: Devuelve el indice donde fue encontrado, o -1 si no fue encontrado.
|
||||
*/
|
||||
@@ -122,6 +130,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Devolver el valor que está guardado en cada indice del array. Se usa para construir la grafica.
|
||||
*
|
||||
* @param indice int: El indice que desea ver.
|
||||
* @return String: El valor que está en dicho indice.
|
||||
*/
|
||||
@@ -136,6 +145,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Ordenar el array usando burbuja.
|
||||
*
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @return boolean: Verdad si algo cambió, sino falso.
|
||||
*/
|
||||
@@ -144,10 +154,10 @@ final public class Array {
|
||||
|
||||
for (int i = size() - 1; i > 1; i--) {
|
||||
for (int j = 0; j < i; j++) {
|
||||
if (Integer.valueOf(array[j]) > Integer.valueOf(array[j+1])) {
|
||||
if (Integer.valueOf(array[j]) > Integer.valueOf(array[j + 1])) {
|
||||
String temp = array[j];
|
||||
array[j] = array[j+1];
|
||||
array[j+1] = temp;
|
||||
array[j] = array[j + 1];
|
||||
array[j + 1] = temp;
|
||||
cambio = true;
|
||||
if (paso) {
|
||||
return true;
|
||||
@@ -161,6 +171,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Ordenar el array usando inserción.
|
||||
*
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @return boolean: Verdad si algo cambió, sino falso.
|
||||
*/
|
||||
@@ -170,8 +181,8 @@ final public class Array {
|
||||
for (int i = 1; i < size(); i++) {
|
||||
String temp = array[i];
|
||||
int j = i;
|
||||
while (j > 0 && Integer.valueOf(array[j-1]) >= Integer.valueOf(temp)) {
|
||||
array[j] = array[j-1];
|
||||
while (j > 0 && Integer.valueOf(array[j - 1]) >= Integer.valueOf(temp)) {
|
||||
array[j] = array[j - 1];
|
||||
--j;
|
||||
cambio = true;
|
||||
}
|
||||
@@ -186,6 +197,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Ordenar el array usando selección.
|
||||
*
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @return boolean: Verdad si algo cambió, sino falso.
|
||||
*/
|
||||
@@ -213,6 +225,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Ordenar el array usando shell.
|
||||
*
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @return boolean: Verdad si algo cambió, sino falso.
|
||||
*/
|
||||
@@ -228,11 +241,11 @@ final public class Array {
|
||||
}
|
||||
|
||||
while (h > 0) {
|
||||
for (i=h; i < size(); i++) {
|
||||
for (i = h; i < size(); i++) {
|
||||
temp = array[i];
|
||||
j = i;
|
||||
while (j > h-1 && Integer.valueOf(array[j-h]) >= Integer.valueOf(temp)) {
|
||||
array[j] = array[j-h];
|
||||
while (j > h - 1 && Integer.valueOf(array[j - h]) >= Integer.valueOf(temp)) {
|
||||
array[j] = array[j - h];
|
||||
j -= h;
|
||||
cambio = true;
|
||||
}
|
||||
@@ -241,7 +254,7 @@ final public class Array {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
h = (h-1) / 3;
|
||||
h = (h - 1) / 3;
|
||||
}
|
||||
|
||||
return cambio;
|
||||
@@ -249,6 +262,7 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Ordenar el array usando quick.
|
||||
*
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @return boolean: Verdad si algo cambió, sino falso.
|
||||
*/
|
||||
@@ -267,9 +281,10 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Metodo recursivo para ordenar using quick sort.
|
||||
*
|
||||
* @param izquerda int: La posición del quick desded la izquerda.
|
||||
* @param derecha int: La posición del quick desded la derecha..
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @param derecha int: La posición del quick desded la derecha..
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @return boolean: Verdad si algo cambió, sino falso.
|
||||
*/
|
||||
private boolean recurenciaQuick(int izquerda, int derecha, boolean paso) {
|
||||
@@ -294,21 +309,24 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Particionar el array desded la izquerda y derecho usando un pivot.
|
||||
*
|
||||
* @param izquerda int: La posición del quick desde la izquerda.
|
||||
* @param derecha int: La posición del quick desde la derecha.
|
||||
* @param pivot String: El valor a comparar con los otros.
|
||||
* @param derecha int: La posición del quick desde la derecha.
|
||||
* @param pivot String: El valor a comparar con los otros.
|
||||
* @return ParticionarResult: Los resultados de particionar.
|
||||
*/
|
||||
private ParticionarResult particionar(int izquerda, int derecha, String pivot) {
|
||||
boolean cambio = false;
|
||||
|
||||
int punteroIzquerda = izquerda-1;
|
||||
int punteroIzquerda = izquerda - 1;
|
||||
int punteroDerecha = derecha;
|
||||
while (true) {
|
||||
//noinspection StatementWithEmptyBody
|
||||
while (Integer.valueOf(array[++punteroIzquerda]) < Integer.valueOf(pivot));
|
||||
while (Integer.valueOf(array[++punteroIzquerda]) < Integer.valueOf(pivot)) {
|
||||
}
|
||||
//noinspection StatementWithEmptyBody
|
||||
while (punteroDerecha > 0 && Integer.valueOf(array[--punteroDerecha]) > Integer.valueOf(pivot));
|
||||
while (punteroDerecha > 0 && Integer.valueOf(array[--punteroDerecha]) > Integer.valueOf(pivot)) {
|
||||
}
|
||||
|
||||
if (punteroIzquerda >= punteroDerecha) {
|
||||
break;
|
||||
@@ -324,52 +342,12 @@ final public class Array {
|
||||
array[punteroIzquerda] = array[derecha];
|
||||
array[derecha] = temp;
|
||||
|
||||
return new ParticionarResult(cambio, punteroIzquerda);
|
||||
}
|
||||
|
||||
/**
|
||||
* Esta clase contiene los resultados de Partricionar.
|
||||
*/
|
||||
final public class ParticionarResult {
|
||||
/**
|
||||
* Si habia algun cambio.
|
||||
*/
|
||||
private boolean cambio;
|
||||
|
||||
/**
|
||||
* La parte izquerda que cambió.
|
||||
*/
|
||||
private int punteroIzquerda;
|
||||
|
||||
/**
|
||||
* Inicializar.
|
||||
* @param cambio boolean: Si habia un cambio o no.
|
||||
* @param punteroIzquerda: El valor desde la izquerda donde fue un cambio.
|
||||
*/
|
||||
public ParticionarResult(boolean cambio, int punteroIzquerda) {
|
||||
this.cambio = cambio;
|
||||
this.punteroIzquerda = punteroIzquerda;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver el cambio.
|
||||
* @return boolean: Devolver el valor de cambio.
|
||||
*/
|
||||
public boolean getCambio() {
|
||||
return cambio;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver el puntero izquerda.
|
||||
* @return int: Devolver el valor de puntero.
|
||||
*/
|
||||
public int getPunteroIzquerda() {
|
||||
return punteroIzquerda;
|
||||
}
|
||||
return new ParticionarResult(cambio, punteroIzquerda);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ordenar el array usando merge.
|
||||
*
|
||||
* @param paso boolean: Si es verdad, solo hago en paso del ordenamiento, sino ordenear todos los elementos.
|
||||
* @return boolean: Verdad si algo cambió, sino falso.
|
||||
*/
|
||||
@@ -389,10 +367,11 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* El metodo recursivo para ordenar con merge.
|
||||
* @param temp String[]: El array temporario para trabajar.
|
||||
*
|
||||
* @param temp String[]: El array temporario para trabajar.
|
||||
* @param izquerda int: El lado izquerda.
|
||||
* @param derecha int: El lado derecha.
|
||||
* @param paso boolean: Verdad si es paso por paso.
|
||||
* @param derecha int: El lado derecha.
|
||||
* @param paso boolean: Verdad si es paso por paso.
|
||||
* @return boolean: Devolver si algo cambió.
|
||||
*/
|
||||
private boolean recurenciaMerge(String[] temp, int izquerda, int derecha, boolean paso) {
|
||||
@@ -420,11 +399,12 @@ final public class Array {
|
||||
|
||||
/**
|
||||
* Este metodo hace los cambios al array.
|
||||
* @param temp String[]: El array temporario para trabajar.
|
||||
*
|
||||
* @param temp String[]: El array temporario para trabajar.
|
||||
* @param prevIzquerda int: El valor previo de la izquerda.
|
||||
* @param prevMedio int: El valor previo al medio.
|
||||
* @param prevDerecha int: El valor previo de la derecha.
|
||||
* @param paso boolean: Si es paso por paso.
|
||||
* @param prevMedio int: El valor previo al medio.
|
||||
* @param prevDerecha int: El valor previo de la derecha.
|
||||
* @param paso boolean: Si es paso por paso.
|
||||
* @return boolean: Devolver si algo cambió.
|
||||
*/
|
||||
private boolean merge(String[] temp, int prevIzquerda, int prevMedio, int prevDerecha, boolean paso) {
|
||||
@@ -460,4 +440,48 @@ final public class Array {
|
||||
}
|
||||
return cambio;
|
||||
}
|
||||
|
||||
/**
|
||||
* Esta clase contiene los resultados de Partricionar.
|
||||
*/
|
||||
final public class ParticionarResult {
|
||||
/**
|
||||
* Si habia algun cambio.
|
||||
*/
|
||||
final private boolean cambio;
|
||||
|
||||
/**
|
||||
* La parte izquerda que cambió.
|
||||
*/
|
||||
final private int punteroIzquerda;
|
||||
|
||||
/**
|
||||
* Inicializar.
|
||||
*
|
||||
* @param cambio boolean: Si habia un cambio o no.
|
||||
* @param punteroIzquerda: El valor desde la izquerda donde fue un cambio.
|
||||
*/
|
||||
public ParticionarResult(boolean cambio, int punteroIzquerda) {
|
||||
this.cambio = cambio;
|
||||
this.punteroIzquerda = punteroIzquerda;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver el cambio.
|
||||
*
|
||||
* @return boolean: Devolver el valor de cambio.
|
||||
*/
|
||||
public boolean getCambio() {
|
||||
return cambio;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devolver el puntero izquerda.
|
||||
*
|
||||
* @return int: Devolver el valor de puntero.
|
||||
*/
|
||||
public int getPunteroIzquerda() {
|
||||
return punteroIzquerda;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -3,7 +3,9 @@ package cl.cromer.estructuras;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.control.ButtonBar;
|
||||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.control.Dialog;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
@@ -15,6 +17,7 @@ import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Array.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class ArrayController implements Initializable {
|
||||
@@ -22,17 +25,20 @@ public class ArrayController implements Initializable {
|
||||
/**
|
||||
* La caja para ingresar textos.
|
||||
*/
|
||||
@FXML private TextFieldLimited valorArray;
|
||||
@FXML
|
||||
private TextFieldLimited valorArray;
|
||||
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private VBox contenidoArray;
|
||||
@FXML
|
||||
private VBox contenidoArray;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoArray;
|
||||
@FXML
|
||||
private Text codigoArray;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -56,7 +62,8 @@ public class ArrayController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
@@ -126,7 +133,7 @@ public class ArrayController implements Initializable {
|
||||
}
|
||||
|
||||
// Mostrar el codigo
|
||||
String tipo = (array.isOrdered())?"Ordenado":"Simple";
|
||||
String tipo = (array.isOrdered()) ? "Ordenado" : "Simple";
|
||||
String codigoTexto = new Scanner(getClass().getResourceAsStream("/cl/cromer/estructuras/code/array" + tipo + "/insertar")).useDelimiter("\\Z").next();
|
||||
codigoArray.setText(codigoTexto);
|
||||
|
||||
@@ -173,7 +180,7 @@ public class ArrayController implements Initializable {
|
||||
}
|
||||
|
||||
// Mostrar el codigo
|
||||
String tipo = (array.isOrdered())?"Ordenado":"Simple";
|
||||
String tipo = (array.isOrdered()) ? "Ordenado" : "Simple";
|
||||
String codigoTexto = new Scanner(getClass().getResourceAsStream("/cl/cromer/estructuras/code/array" + tipo + "/eliminar")).useDelimiter("\\Z").next();
|
||||
codigoArray.setText(codigoTexto);
|
||||
|
||||
@@ -210,7 +217,7 @@ public class ArrayController implements Initializable {
|
||||
}
|
||||
|
||||
// Mostrar el codigo
|
||||
String tipo = (array.isOrdered())?"Ordenado":"Simple";
|
||||
String tipo = (array.isOrdered()) ? "Ordenado" : "Simple";
|
||||
String codigoTexto = new Scanner(getClass().getResourceAsStream("/cl/cromer/estructuras/code/array" + tipo + "/buscar")).useDelimiter("\\Z").next();
|
||||
codigoArray.setText(codigoTexto);
|
||||
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Esta clase contiene los tipos de array.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class ArrayTipos {
|
||||
@@ -17,10 +18,11 @@ final public class ArrayTipos {
|
||||
/**
|
||||
* El tipo que está elegido.
|
||||
*/
|
||||
private int tipo;
|
||||
final private int tipo;
|
||||
|
||||
/**
|
||||
* Inicilizar el tipo.
|
||||
*
|
||||
* @param tipo int: Tipo de array, {@value #SIMPLE} o {@value #ORDENADO}
|
||||
*/
|
||||
public ArrayTipos(int tipo) {
|
||||
@@ -38,6 +40,7 @@ final public class ArrayTipos {
|
||||
|
||||
/**
|
||||
* Devolver el tipo.
|
||||
*
|
||||
* @return int: El tipo de array.
|
||||
*/
|
||||
public int getTipo() {
|
||||
|
@@ -16,18 +16,21 @@ import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Burbuja.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class BurbujaController implements Initializable {
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private HBox contenidoBurbuja;
|
||||
@FXML
|
||||
private HBox contenidoBurbuja;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoBurbuja;
|
||||
@FXML
|
||||
private Text codigoBurbuja;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -46,7 +49,8 @@ public class BurbujaController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Crear una estructura de dato de tipo cola.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class Cola {
|
||||
@@ -25,6 +26,7 @@ final public class Cola {
|
||||
|
||||
/**
|
||||
* Devolver la cantidad de elementos que están en la cola.
|
||||
*
|
||||
* @return int: La cantidad de elementos.
|
||||
*/
|
||||
public int size() {
|
||||
@@ -33,6 +35,7 @@ final public class Cola {
|
||||
|
||||
/**
|
||||
* Push un valor en la cola encima.
|
||||
*
|
||||
* @param valor int: El valor a push.
|
||||
*/
|
||||
public void push(int valor) {
|
||||
@@ -56,11 +59,12 @@ final public class Cola {
|
||||
|
||||
/**
|
||||
* Pop un valor del principio de la cola.
|
||||
*
|
||||
* @return boolean: Verdad si fue exitoso.
|
||||
*/
|
||||
public boolean pop() {
|
||||
if (this.cola != null) {
|
||||
String cola[] = new String[this.cola.length -1];
|
||||
String cola[] = new String[this.cola.length - 1];
|
||||
// Nueva array sin el valor del primer
|
||||
System.arraycopy(this.cola, 1, cola, 0, cola.length);
|
||||
this.cola = cola;
|
||||
@@ -74,6 +78,7 @@ final public class Cola {
|
||||
|
||||
/**
|
||||
* Peek al valor que está al principio de la cola.
|
||||
*
|
||||
* @return int: El valor que está al principio de la cola.
|
||||
*/
|
||||
public int peek() {
|
||||
@@ -87,6 +92,7 @@ final public class Cola {
|
||||
|
||||
/**
|
||||
* Devolver el valor que está en un indice de la cola.
|
||||
*
|
||||
* @param indice int: El indice que desea devolver.
|
||||
* @return String: El valor que está guardado en el indice.
|
||||
*/
|
||||
|
@@ -17,23 +17,27 @@ import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Cola.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class ColaController implements Initializable {
|
||||
/**
|
||||
* La caja para ingresar textos.
|
||||
*/
|
||||
@FXML private TextFieldLimited valorCola;
|
||||
@FXML
|
||||
private TextFieldLimited valorCola;
|
||||
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private VBox contenidoCola;
|
||||
@FXML
|
||||
private VBox contenidoCola;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoCola;
|
||||
@FXML
|
||||
private Text codigoCola;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -57,7 +61,8 @@ public class ColaController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
@@ -168,8 +173,12 @@ public class ColaController implements Initializable {
|
||||
codigoCola.setText(codigoTexto);
|
||||
|
||||
if (cola.size() > 0) {
|
||||
cola.pop();
|
||||
generarGrafico();
|
||||
if (!cola.pop()) {
|
||||
errorVacia();
|
||||
}
|
||||
else {
|
||||
generarGrafico();
|
||||
}
|
||||
}
|
||||
else {
|
||||
errorVacia();
|
||||
|
@@ -4,6 +4,7 @@ import javafx.scene.paint.Color;
|
||||
|
||||
/**
|
||||
* Rotación de colores.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class Colores {
|
||||
@@ -64,7 +65,7 @@ public class Colores {
|
||||
texto = Color.BLACK;
|
||||
fondo = Color.GREEN;
|
||||
break;
|
||||
case 6 :
|
||||
case 6:
|
||||
color = 7;
|
||||
texto = Color.BLACK;
|
||||
fondo = Color.ORANGE;
|
||||
@@ -78,6 +79,7 @@ public class Colores {
|
||||
|
||||
/**
|
||||
* Devolver el color del texto actual.
|
||||
*
|
||||
* @return Color: Color del texto.
|
||||
*/
|
||||
public Color getTexto() {
|
||||
@@ -86,6 +88,7 @@ public class Colores {
|
||||
|
||||
/**
|
||||
* Devolver el color del fondo actual.
|
||||
*
|
||||
* @return Color: Color del fondo.
|
||||
*/
|
||||
public Color getFondo() {
|
||||
|
@@ -2,41 +2,48 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Esta interfaz es para los 2 tipos de enlace, {@link EnlaceNormal} y {@link EnlaceCircular}.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
interface Enlace {
|
||||
/**
|
||||
* Devolver la llave.
|
||||
*
|
||||
* @return int: La llave.
|
||||
*/
|
||||
int getLlave();
|
||||
|
||||
/**
|
||||
* Cambiar el valor de la llave.
|
||||
*
|
||||
* @param llave int: El valor de la llave.
|
||||
*/
|
||||
void setLlave(int llave);
|
||||
|
||||
/**
|
||||
* Devolver el siguente enlace.
|
||||
*
|
||||
* @return Object: El enlace a devolver.
|
||||
*/
|
||||
Object getSiguente();
|
||||
|
||||
/**
|
||||
* Cambiar el siguiente enlace.
|
||||
*
|
||||
* @param siguente Object: El siguente enlace nuevo.
|
||||
*/
|
||||
void setSiguente(Object siguente);
|
||||
|
||||
/**
|
||||
* Devolver el enlace previo.
|
||||
*
|
||||
* @return Object: El enlace previo.
|
||||
*/
|
||||
Object getPrevio();
|
||||
|
||||
/**
|
||||
* Cambiar el previo enlace.
|
||||
*
|
||||
* @param previo Object: El enlace previo nuevo.
|
||||
*/
|
||||
void setPrevio(Object previo);
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Esta clase es de tipo de enlace circular.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class EnlaceCircular implements Enlace {
|
||||
@@ -24,6 +25,7 @@ final public class EnlaceCircular implements Enlace {
|
||||
|
||||
/**
|
||||
* Devolver la llave.
|
||||
*
|
||||
* @return int: La llave.
|
||||
*/
|
||||
public int getLlave() {
|
||||
@@ -32,6 +34,7 @@ final public class EnlaceCircular implements Enlace {
|
||||
|
||||
/**
|
||||
* Cambiar el valor de la llave.
|
||||
*
|
||||
* @param llave int: El valor de la llave.
|
||||
*/
|
||||
public void setLlave(int llave) {
|
||||
@@ -40,6 +43,7 @@ final public class EnlaceCircular implements Enlace {
|
||||
|
||||
/**
|
||||
* Devolver el siguente enlace.
|
||||
*
|
||||
* @return EnlaceCircular: El enlace a devolver.
|
||||
*/
|
||||
public EnlaceCircular getSiguente() {
|
||||
@@ -48,6 +52,7 @@ final public class EnlaceCircular implements Enlace {
|
||||
|
||||
/**
|
||||
* Cambiar el siguiente enlace.
|
||||
*
|
||||
* @param siguente Object: El siguente enlace nuevo de tipo {@link EnlaceCircular}.
|
||||
*/
|
||||
public void setSiguente(Object siguente) {
|
||||
@@ -56,6 +61,7 @@ final public class EnlaceCircular implements Enlace {
|
||||
|
||||
/**
|
||||
* Devolver el enlace previo.
|
||||
*
|
||||
* @return EnlaceCircular: El enlace previo.
|
||||
*/
|
||||
public EnlaceCircular getPrevio() {
|
||||
@@ -64,6 +70,7 @@ final public class EnlaceCircular implements Enlace {
|
||||
|
||||
/**
|
||||
* Dummy metodo para usar interface {@link Enlace}
|
||||
*
|
||||
* @param previo Object: El enlace previo nuevo de tipo {@link EnlaceCircular}.
|
||||
*/
|
||||
public void setPrevio(Object previo) {
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Esta clase es de tipo de enlace normal.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class EnlaceNormal implements Enlace {
|
||||
@@ -30,6 +31,7 @@ final public class EnlaceNormal implements Enlace {
|
||||
|
||||
/**
|
||||
* Devolver la llave.
|
||||
*
|
||||
* @return int: La llave.
|
||||
*/
|
||||
public int getLlave() {
|
||||
@@ -38,6 +40,7 @@ final public class EnlaceNormal implements Enlace {
|
||||
|
||||
/**
|
||||
* Cambiar el valor de la llave.
|
||||
*
|
||||
* @param llave int: El valor de la llave.
|
||||
*/
|
||||
public void setLlave(int llave) {
|
||||
@@ -46,6 +49,7 @@ final public class EnlaceNormal implements Enlace {
|
||||
|
||||
/**
|
||||
* Devolver el siguente enlace.
|
||||
*
|
||||
* @return EnlaceNormal: El enlace a devolver.
|
||||
*/
|
||||
public EnlaceNormal getSiguente() {
|
||||
@@ -54,6 +58,7 @@ final public class EnlaceNormal implements Enlace {
|
||||
|
||||
/**
|
||||
* Cambiar el siguiente enlace.
|
||||
*
|
||||
* @param siguente Object: El siguente enlace nuevo de tipo {@link EnlaceNormal}.
|
||||
*/
|
||||
public void setSiguente(Object siguente) {
|
||||
@@ -62,6 +67,7 @@ final public class EnlaceNormal implements Enlace {
|
||||
|
||||
/**
|
||||
* Devolver el enlace previo.
|
||||
*
|
||||
* @return EnlaceNormal: El enlace previo.
|
||||
*/
|
||||
public EnlaceNormal getPrevio() {
|
||||
@@ -70,6 +76,7 @@ final public class EnlaceNormal implements Enlace {
|
||||
|
||||
/**
|
||||
* Cambiar el previo enlace.
|
||||
*
|
||||
* @param previo Object: El enlace previo nuevo de tipo {@link EnlaceNormal}.
|
||||
*/
|
||||
public void setPrevio(Object previo) {
|
||||
|
@@ -16,6 +16,7 @@ import javafx.util.Duration;
|
||||
|
||||
/**
|
||||
* Esta clase es para trabajar con graficos.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class Grafico {
|
||||
@@ -28,39 +29,34 @@ public class Grafico {
|
||||
* Tipo de dibujo circular.
|
||||
*/
|
||||
static final public int CIRCULO = 1;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
*/
|
||||
final private Scene scene;
|
||||
/**
|
||||
* Contiene la animación de destacar.
|
||||
*/
|
||||
private SequentialTransition blinkTransition;
|
||||
|
||||
/**
|
||||
* El valor de cual caja está destacado actualmente
|
||||
*/
|
||||
private int destacado;
|
||||
|
||||
/**
|
||||
* El tipo de objeto que está destacado.
|
||||
*/
|
||||
private int tipo;
|
||||
|
||||
/**
|
||||
* El color original de fondo para volver cuando no es destacado.
|
||||
*/
|
||||
private Color destacadoBG;
|
||||
|
||||
/**
|
||||
* El color original de text para volver cuando no es destacado.
|
||||
*/
|
||||
private Color destacadoFG;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
*/
|
||||
private Scene scene;
|
||||
|
||||
/**
|
||||
* Graficar una escena.
|
||||
*
|
||||
* @param scene La scene a destacar.
|
||||
*/
|
||||
public Grafico(Scene scene) {
|
||||
@@ -70,14 +66,15 @@ public class Grafico {
|
||||
|
||||
/**
|
||||
* Crear una flecha que apunta por abajo.
|
||||
*
|
||||
* @return StackPane: Devolver el stackpane que contiene la flecha.
|
||||
*/
|
||||
public static StackPane crearFlechaAbajo() {
|
||||
Polygon polygon = new Polygon();
|
||||
polygon.getPoints().addAll(
|
||||
0.0, 0.0,
|
||||
10.0, 0.0,
|
||||
5.0, 10.0
|
||||
0.0, 0.0,
|
||||
10.0, 0.0,
|
||||
5.0, 10.0
|
||||
);
|
||||
|
||||
StackPane stackPane = new StackPane();
|
||||
@@ -87,14 +84,15 @@ public class Grafico {
|
||||
|
||||
/**
|
||||
* Crear una flecha que apunta por arriba.
|
||||
*
|
||||
* @return StackPane: Devolver el stackpane que contiene la flecha.
|
||||
*/
|
||||
public static StackPane crearFlechaArriba() {
|
||||
Polygon polygon = new Polygon();
|
||||
polygon.getPoints().addAll(
|
||||
5.0, 0.0,
|
||||
0.0, 10.0,
|
||||
10.0, 10.0
|
||||
5.0, 0.0,
|
||||
0.0, 10.0,
|
||||
10.0, 10.0
|
||||
);
|
||||
|
||||
StackPane stackPane = new StackPane();
|
||||
@@ -104,6 +102,7 @@ public class Grafico {
|
||||
|
||||
/**
|
||||
* Crear una linea vertical.
|
||||
*
|
||||
* @return StackPane: Devolver el stackpane que contiene la linea vertical.
|
||||
*/
|
||||
public static StackPane crearLineaVertical() {
|
||||
@@ -120,6 +119,7 @@ public class Grafico {
|
||||
|
||||
/**
|
||||
* Crear la linea circular con flecha.
|
||||
*
|
||||
* @param cajas int: La cantidad de cajas que están.
|
||||
* @return StackPane: Devolver el stackpane que contiene la linea horizontal.
|
||||
*/
|
||||
@@ -135,9 +135,9 @@ public class Grafico {
|
||||
|
||||
Polygon flechaDerecha = new Polygon();
|
||||
flechaDerecha.getPoints().addAll(
|
||||
10.0, 15.0,
|
||||
20.0, 20.0,
|
||||
10.0, 25.0
|
||||
10.0, 15.0,
|
||||
20.0, 20.0,
|
||||
10.0, 25.0
|
||||
);
|
||||
|
||||
Line vertical = new Line();
|
||||
@@ -159,8 +159,9 @@ public class Grafico {
|
||||
|
||||
/**
|
||||
* Crear un rectangulo con texto adentro.
|
||||
*
|
||||
* @param colores Colores: Los colores para dar color al rectangulo.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
* @return StackPane: Devolver el stackpane que contiene el rectangulo y texto.
|
||||
*/
|
||||
public static StackPane crearCaja(Colores colores, String label) {
|
||||
@@ -181,9 +182,10 @@ public class Grafico {
|
||||
|
||||
/**
|
||||
* Crear un rectangulo con texto adentro.
|
||||
*
|
||||
* @param colores Colores: Los colores para dar color al rectangulo.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
* @param texto String: El texto a colocar dentro el rectangulo.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
* @param texto String: El texto a colocar dentro el rectangulo.
|
||||
* @return StackPane: Devolver el stackpane que contiene el rectangulo y texto.
|
||||
*/
|
||||
public static StackPane crearCaja(Colores colores, String label, String texto) {
|
||||
@@ -203,69 +205,47 @@ public class Grafico {
|
||||
return stackPane;
|
||||
}
|
||||
|
||||
/**
|
||||
* Crear un rectangulo con texto adentro.
|
||||
* @param colores Colores: Los colores para dar color al rectangulo.
|
||||
* @param label String: El texto por el ID de fxml.
|
||||
* @param texto String: El texto a colocar dentro el rectangulo.
|
||||
* @param tamano int: El tamaño del rectangulo.
|
||||
* @return StackPane: Devolver el stackpane que contiene el rectangulo y texto.
|
||||
*/
|
||||
public static StackPane crearCaja(Colores colores, String label, String texto, int tamano) {
|
||||
Rectangle rectangle = new Rectangle();
|
||||
rectangle.setHeight(tamano);
|
||||
rectangle.setWidth(tamano);
|
||||
rectangle.setFill(colores.getFondo());
|
||||
rectangle.setStroke(Color.BLACK);
|
||||
rectangle.setId("border_" + label);
|
||||
Text text = new Text();
|
||||
text.setId("caja_" + label);
|
||||
text.setStroke(colores.getTexto());
|
||||
text.setText(texto);
|
||||
|
||||
StackPane stackPane = new StackPane();
|
||||
stackPane.getChildren().addAll(rectangle, text);
|
||||
return stackPane;
|
||||
}
|
||||
|
||||
/**
|
||||
* Crear un animacion de transicion usando colores que cambian.
|
||||
* @param rectangle Rectangle: El objeto que desea animar.
|
||||
* @param text Text: El texto que desea animar.
|
||||
*
|
||||
* @param rectangle Rectangle: El objeto que desea animar.
|
||||
* @param text Text: El texto que desea animar.
|
||||
* @param colorBackground Color: Color del fondo de destacar.
|
||||
* @param colorText Color: Color del texto.
|
||||
* @param colorText Color: Color del texto.
|
||||
* @return PauseTransition: La transition creado con los elementos y colores.
|
||||
*/
|
||||
private static PauseTransition createPauseTransition(Rectangle rectangle , Text text, Color colorBackground, Color colorText) {
|
||||
private static PauseTransition createPauseTransition(Rectangle rectangle, Text text, Color colorBackground, Color colorText) {
|
||||
PauseTransition changeColor = new PauseTransition(new Duration(100));
|
||||
changeColor.setOnFinished(actionEvent -> {
|
||||
rectangle.setFill(colorBackground);
|
||||
text.setStroke(colorText);
|
||||
});
|
||||
return changeColor ;
|
||||
return changeColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Crear un animacion de transicion usando colores que cambian.
|
||||
* @param circle Circle: El objeto que desea animar.
|
||||
* @param text Text: El texto que desea animar.
|
||||
*
|
||||
* @param circle Circle: El objeto que desea animar.
|
||||
* @param text Text: El texto que desea animar.
|
||||
* @param colorBackground Color: Color del fondo de destacar.
|
||||
* @param colorText Color: Color del texto.
|
||||
* @param colorText Color: Color del texto.
|
||||
* @return PauseTransition: La transition creado con los elementos y colores.
|
||||
*/
|
||||
private static PauseTransition createPauseTransition(Circle circle , Text text, Color colorBackground, Color colorText) {
|
||||
private static PauseTransition createPauseTransition(Circle circle, Text text, Color colorBackground, Color colorText) {
|
||||
PauseTransition changeColor = new PauseTransition(new Duration(100));
|
||||
changeColor.setOnFinished(actionEvent -> {
|
||||
circle.setFill(colorBackground);
|
||||
text.setStroke(colorText);
|
||||
});
|
||||
return changeColor ;
|
||||
return changeColor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Destacar un elemento
|
||||
*
|
||||
* @param valor int: El indice a destacar.
|
||||
* @param tipo int: El tipo de objeto a destacar, {@value #RECTANGULO} o {@value #CIRCULO}
|
||||
* @param tipo int: El tipo de objeto a destacar, {@value #RECTANGULO} o {@value #CIRCULO}
|
||||
*/
|
||||
public void destacar(int valor, int tipo) {
|
||||
if (tipo != RECTANGULO && tipo != CIRCULO) {
|
||||
|
@@ -16,18 +16,21 @@ import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Inserción.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class InsercionController implements Initializable {
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private HBox contenidoInsercion;
|
||||
@FXML
|
||||
private HBox contenidoInsercion;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoInsercion;
|
||||
@FXML
|
||||
private Text codigoInsercion;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -46,7 +49,8 @@ public class InsercionController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Crear una estructura de dato de tipo lista enlazada.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class ListaEnlazada {
|
||||
@@ -29,6 +30,7 @@ final public class ListaEnlazada {
|
||||
|
||||
/**
|
||||
* Devolver la cantidad de enlaces que están en la lista.
|
||||
*
|
||||
* @return int: La cantidad.
|
||||
*/
|
||||
public int size() {
|
||||
@@ -37,6 +39,7 @@ final public class ListaEnlazada {
|
||||
|
||||
/**
|
||||
* Devolver el tipo de lista.
|
||||
*
|
||||
* @return int: El tipo.
|
||||
*/
|
||||
public int getTipo() {
|
||||
@@ -45,6 +48,7 @@ final public class ListaEnlazada {
|
||||
|
||||
/**
|
||||
* Cambiar el tipo de lista.
|
||||
*
|
||||
* @param tipo int: El tipo a cambiar.
|
||||
*/
|
||||
public void setTipo(int tipo) {
|
||||
@@ -53,6 +57,7 @@ final public class ListaEnlazada {
|
||||
|
||||
/**
|
||||
* Buscar una llave en la lista.
|
||||
*
|
||||
* @param llave int: La llave a buscar.
|
||||
* @return Enlace: El enlace que contiene la llave buscada.
|
||||
*/
|
||||
@@ -82,6 +87,7 @@ final public class ListaEnlazada {
|
||||
|
||||
/**
|
||||
* Insertar una llave en la lista.
|
||||
*
|
||||
* @param llave int: La llave a insertar.
|
||||
* @return boolean: Verdad si fue insertado, sino falso.
|
||||
*/
|
||||
@@ -106,6 +112,7 @@ final public class ListaEnlazada {
|
||||
|
||||
/**
|
||||
* Eliminar un enlace de la lista.
|
||||
*
|
||||
* @param llave int: La llave a eliminar.
|
||||
* @return boolean: Verdad si fue borrado, sino falso.
|
||||
*/
|
||||
@@ -149,6 +156,7 @@ final public class ListaEnlazada {
|
||||
|
||||
/**
|
||||
* Devolver un enlace con su llave y valor.
|
||||
*
|
||||
* @param indice int: El indice que desea ver.
|
||||
* @return Enlace: El enlace a devolver.
|
||||
*/
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Crear una estructura de dato de tipo lista enlazada circular.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class ListaEnlazadaCircular {
|
||||
@@ -34,6 +35,7 @@ final public class ListaEnlazadaCircular {
|
||||
|
||||
/**
|
||||
* Devolver la cantidad de enlaces que están en la lista.
|
||||
*
|
||||
* @return int: La cantidad.
|
||||
*/
|
||||
public int size() {
|
||||
@@ -42,6 +44,7 @@ final public class ListaEnlazadaCircular {
|
||||
|
||||
/**
|
||||
* Devolver el tipo de lista.
|
||||
*
|
||||
* @return int: El tipo de lista.
|
||||
*/
|
||||
public int getTipo() {
|
||||
@@ -50,6 +53,7 @@ final public class ListaEnlazadaCircular {
|
||||
|
||||
/**
|
||||
* Cambiar el tipo de lista.
|
||||
*
|
||||
* @param tipo int: El tipo a cambiar.
|
||||
*/
|
||||
public void setTipo(int tipo) {
|
||||
@@ -58,6 +62,7 @@ final public class ListaEnlazadaCircular {
|
||||
|
||||
/**
|
||||
* Buscar una llave en la lista.
|
||||
*
|
||||
* @param llave int: La llave a buscar.
|
||||
* @return Enlace: El enlace que contiene la llave.
|
||||
*/
|
||||
@@ -88,6 +93,7 @@ final public class ListaEnlazadaCircular {
|
||||
|
||||
/**
|
||||
* Insertar una llave en la lista.
|
||||
*
|
||||
* @param llave int: La llave a insertar.
|
||||
* @return boolean: Verdad si fue insertado, falso si ya existe la llave.
|
||||
*/
|
||||
@@ -116,6 +122,7 @@ final public class ListaEnlazadaCircular {
|
||||
|
||||
/**
|
||||
* Eliminar un enlace de la lista.
|
||||
*
|
||||
* @param llave int: La llave a elminiar.
|
||||
* @return boolean: Verdad se fue eliminado, falso si no estaba en la lista.
|
||||
*/
|
||||
@@ -160,6 +167,7 @@ final public class ListaEnlazadaCircular {
|
||||
|
||||
/**
|
||||
* Devolver un enlace con su llave y valor.
|
||||
*
|
||||
* @param indice int: El indice que desea ver.
|
||||
* @return Enlace: El enlace a devolver.
|
||||
*/
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Esta clase contiene los tipos de listas enlazadas.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class ListaEnlazadaTipos {
|
||||
@@ -21,10 +22,11 @@ final public class ListaEnlazadaTipos {
|
||||
/**
|
||||
* El tipo elegido.
|
||||
*/
|
||||
private int tipo;
|
||||
final private int tipo;
|
||||
|
||||
/**
|
||||
* Inicilizar el tipo de lista enlazada.
|
||||
*
|
||||
* @param tipo int: El tipo de lista enlazada, {@value #SIMPLE}, {@value #CIRCULAR} o {@value #DOBLEMENTE_ENLAZADA}
|
||||
*/
|
||||
public ListaEnlazadaTipos(int tipo) {
|
||||
@@ -45,6 +47,7 @@ final public class ListaEnlazadaTipos {
|
||||
|
||||
/**
|
||||
* Devolver el tipo de lista enlazada.
|
||||
*
|
||||
* @return int: El tipo.
|
||||
*/
|
||||
public int getTipo() {
|
||||
|
@@ -17,28 +17,33 @@ import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de ListaEnlazada.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class ListaEnlazdaController implements Initializable {
|
||||
/**
|
||||
* La caja para ingresar el valor.
|
||||
*/
|
||||
@FXML private TextFieldLimited valorLista;
|
||||
@FXML
|
||||
private TextFieldLimited valorLista;
|
||||
|
||||
/**
|
||||
* Donde poner el contenido de lista.
|
||||
*/
|
||||
@FXML private VBox contenidoLista;
|
||||
@FXML
|
||||
private VBox contenidoLista;
|
||||
|
||||
/**
|
||||
* Donde poner el contenido de lista circular.
|
||||
*/
|
||||
@FXML private VBox contenidoListaCircular;
|
||||
@FXML
|
||||
private VBox contenidoListaCircular;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoLista;
|
||||
@FXML
|
||||
private Text codigoLista;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -77,7 +82,8 @@ public class ListaEnlazdaController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
@@ -401,36 +407,38 @@ public class ListaEnlazdaController implements Initializable {
|
||||
|
||||
/**
|
||||
* Dibujarlo con una flecha.
|
||||
*
|
||||
* @param enlace Object: El enlace que tiene la llave y valor.
|
||||
*/
|
||||
private void dibujarSimple(Enlace enlace, boolean sinFlecha) {
|
||||
contenidoLista.getChildren().addAll(
|
||||
Grafico.crearCaja(colores, String.valueOf(enlace.getLlave()), String.valueOf(enlace.getLlave()))
|
||||
Grafico.crearCaja(colores, String.valueOf(enlace.getLlave()), String.valueOf(enlace.getLlave()))
|
||||
);
|
||||
if (!sinFlecha) {
|
||||
contenidoLista.getChildren().addAll(
|
||||
Grafico.crearLineaVertical(),
|
||||
Grafico.crearFlechaAbajo()
|
||||
Grafico.crearLineaVertical(),
|
||||
Grafico.crearFlechaAbajo()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Dibujarlo con dos flechas.
|
||||
*
|
||||
* @param enlace El enlace que tiene la llave y valor.
|
||||
*/
|
||||
private void dibujarDoble(Enlace enlace, boolean primer) {
|
||||
if (primer) {
|
||||
contenidoLista.getChildren().addAll(
|
||||
Grafico.crearFlechaArriba(),
|
||||
Grafico.crearLineaVertical()
|
||||
Grafico.crearFlechaArriba(),
|
||||
Grafico.crearLineaVertical()
|
||||
);
|
||||
}
|
||||
contenidoLista.getChildren().addAll(
|
||||
Grafico.crearCaja(colores, String.valueOf(enlace.getLlave()), String.valueOf(enlace.getLlave())),
|
||||
Grafico.crearFlechaArriba(),
|
||||
Grafico.crearLineaVertical(),
|
||||
Grafico.crearFlechaAbajo()
|
||||
Grafico.crearCaja(colores, String.valueOf(enlace.getLlave()), String.valueOf(enlace.getLlave())),
|
||||
Grafico.crearFlechaArriba(),
|
||||
Grafico.crearLineaVertical(),
|
||||
Grafico.crearFlechaAbajo()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@@ -8,6 +8,7 @@ import java.util.logging.SimpleFormatter;
|
||||
|
||||
/**
|
||||
* Esta clase es para configurar el logeo de la aplicación.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class Logs {
|
||||
@@ -41,7 +42,8 @@ public class Logs {
|
||||
|
||||
/**
|
||||
* Agregar un log al logger.
|
||||
* @param level Level: El tipo de error o mensaje que ha sido generado.
|
||||
*
|
||||
* @param level Level: El tipo de error o mensaje que ha sido generado.
|
||||
* @param mensaje String: El mensaje de lo que pasó.
|
||||
*/
|
||||
static public void log(Level level, String mensaje) {
|
||||
|
@@ -18,6 +18,7 @@ import java.util.logging.Level;
|
||||
* Creado como proyecto semestral para la asignatura de estructuras de datos por la profesora Karina Rojas y el profesor Jorge Elgueta.
|
||||
* Creado en 2016-1
|
||||
* Se necesita java 8 instalado.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
* @version 1.0.0
|
||||
*/
|
||||
@@ -29,6 +30,7 @@ public class Main extends Application {
|
||||
|
||||
/**
|
||||
* Inicilizar el logeo y lanzar la interfaz grafica.
|
||||
*
|
||||
* @param args String[]: Argumentos desde la consola.
|
||||
*/
|
||||
public static void main(String[] args) {
|
||||
@@ -39,8 +41,14 @@ public class Main extends Application {
|
||||
launch(args);
|
||||
}
|
||||
|
||||
static public void setIcon(Dialog dialog, Class classe) {
|
||||
Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
|
||||
stage.getIcons().add(new Image(classe.getResourceAsStream("/cl/cromer/estructuras/images/icon.png")));
|
||||
}
|
||||
|
||||
/**
|
||||
* Crear el stage y la scene para la aplicación grafica.
|
||||
*
|
||||
* @param stage El primer stage donde va todas las cosas visuales.
|
||||
*/
|
||||
@Override
|
||||
@@ -67,9 +75,4 @@ public class Main extends Application {
|
||||
stage.getIcons().add(new Image(getClass().getResourceAsStream("/cl/cromer/estructuras/images/icon.png")));
|
||||
stage.show();
|
||||
}
|
||||
|
||||
static public void setIcon(Dialog dialog, Class classe) {
|
||||
Stage stage = (Stage) dialog.getDialogPane().getScene().getWindow();
|
||||
stage.getIcons().add(new Image(classe.getResourceAsStream("/cl/cromer/estructuras/images/icon.png")));
|
||||
}
|
||||
}
|
@@ -5,8 +5,10 @@ import javafx.fxml.FXMLLoader;
|
||||
import javafx.fxml.Initializable;
|
||||
import javafx.scene.Parent;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.*;
|
||||
import javafx.scene.image.Image;
|
||||
import javafx.scene.control.ButtonBar;
|
||||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.control.Dialog;
|
||||
import javafx.scene.control.MenuBar;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
@@ -26,7 +28,8 @@ public class MenuController extends VBox implements Initializable {
|
||||
/**
|
||||
* La barra del menu.
|
||||
*/
|
||||
@FXML private MenuBar menuBar;
|
||||
@FXML
|
||||
private MenuBar menuBar;
|
||||
|
||||
/**
|
||||
* Los idiomas.
|
||||
@@ -35,7 +38,8 @@ public class MenuController extends VBox implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicialicar el menu con el idioma.
|
||||
* @param location URL: Tiene URL de FXML en uso.
|
||||
*
|
||||
* @param location URL: Tiene URL de FXML en uso.
|
||||
* @param resourceBundle: Tiene los idiomas.
|
||||
*/
|
||||
@Override
|
||||
@@ -50,10 +54,10 @@ public class MenuController extends VBox implements Initializable {
|
||||
protected void menuArraySimple() {
|
||||
ArrayTipos arrayTipos = new ArrayTipos(ArrayTipos.SIMPLE);
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloArraySimple"),
|
||||
"/cl/cromer/estructuras/fxml/array.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
arrayTipos
|
||||
resourceBundle.getString("tituloArraySimple"),
|
||||
"/cl/cromer/estructuras/fxml/array.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
arrayTipos
|
||||
);
|
||||
}
|
||||
|
||||
@@ -64,10 +68,10 @@ public class MenuController extends VBox implements Initializable {
|
||||
protected void menuArrayOrdenado() {
|
||||
ArrayTipos arrayTipos = new ArrayTipos(ArrayTipos.ORDENADO);
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloArrayOrdenado"),
|
||||
"/cl/cromer/estructuras/fxml/array.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
arrayTipos
|
||||
resourceBundle.getString("tituloArrayOrdenado"),
|
||||
"/cl/cromer/estructuras/fxml/array.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
arrayTipos
|
||||
);
|
||||
}
|
||||
|
||||
@@ -77,9 +81,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuBurbuja() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloBurbuja"),
|
||||
"/cl/cromer/estructuras/fxml/burbuja.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloBurbuja"),
|
||||
"/cl/cromer/estructuras/fxml/burbuja.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -89,9 +93,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuInsercion() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloInsercion"),
|
||||
"/cl/cromer/estructuras/fxml/insercion.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloInsercion"),
|
||||
"/cl/cromer/estructuras/fxml/insercion.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -101,9 +105,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuSeleccion() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloSeleccion"),
|
||||
"/cl/cromer/estructuras/fxml/seleccion.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloSeleccion"),
|
||||
"/cl/cromer/estructuras/fxml/seleccion.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -113,9 +117,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuShell() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloShell"),
|
||||
"/cl/cromer/estructuras/fxml/shell.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloShell"),
|
||||
"/cl/cromer/estructuras/fxml/shell.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -125,9 +129,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuQuick() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloQuick"),
|
||||
"/cl/cromer/estructuras/fxml/quick.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloQuick"),
|
||||
"/cl/cromer/estructuras/fxml/quick.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -137,9 +141,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuMerge() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloMerge"),
|
||||
"/cl/cromer/estructuras/fxml/merge.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloMerge"),
|
||||
"/cl/cromer/estructuras/fxml/merge.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -150,10 +154,10 @@ public class MenuController extends VBox implements Initializable {
|
||||
protected void menuListaEnlazadaSimple() {
|
||||
ListaEnlazadaTipos listaEnlazadaTipos = new ListaEnlazadaTipos(SIMPLE);
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloListaEnlazadaSimple"),
|
||||
"/cl/cromer/estructuras/fxml/listaEnlazada.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
listaEnlazadaTipos
|
||||
resourceBundle.getString("tituloListaEnlazadaSimple"),
|
||||
"/cl/cromer/estructuras/fxml/listaEnlazada.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
listaEnlazadaTipos
|
||||
);
|
||||
}
|
||||
|
||||
@@ -164,10 +168,10 @@ public class MenuController extends VBox implements Initializable {
|
||||
protected void menuListaEnlazadaCircular() {
|
||||
ListaEnlazadaTipos listaEnlazadaTipos = new ListaEnlazadaTipos(ListaEnlazadaTipos.CIRCULAR);
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloListaEnlazadaCircular"),
|
||||
"/cl/cromer/estructuras/fxml/listaEnlazada.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
listaEnlazadaTipos
|
||||
resourceBundle.getString("tituloListaEnlazadaCircular"),
|
||||
"/cl/cromer/estructuras/fxml/listaEnlazada.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
listaEnlazadaTipos
|
||||
);
|
||||
}
|
||||
|
||||
@@ -178,10 +182,10 @@ public class MenuController extends VBox implements Initializable {
|
||||
protected void menuListaEnlazadaDoble() {
|
||||
ListaEnlazadaTipos listaEnlazadaTipos = new ListaEnlazadaTipos(ListaEnlazadaTipos.DOBLEMENTE_ENLAZADA);
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloListaEnlazadaDoble"),
|
||||
"/cl/cromer/estructuras/fxml/listaEnlazada.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
listaEnlazadaTipos
|
||||
resourceBundle.getString("tituloListaEnlazadaDoble"),
|
||||
"/cl/cromer/estructuras/fxml/listaEnlazada.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
listaEnlazadaTipos
|
||||
);
|
||||
}
|
||||
|
||||
@@ -191,9 +195,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuPila() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloPila"),
|
||||
"/cl/cromer/estructuras/fxml/pila.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloPila"),
|
||||
"/cl/cromer/estructuras/fxml/pila.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -203,9 +207,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
@FXML
|
||||
protected void menuCola() {
|
||||
loadStage(
|
||||
resourceBundle.getString("tituloCola"),
|
||||
"/cl/cromer/estructuras/fxml/cola.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
resourceBundle.getString("tituloCola"),
|
||||
"/cl/cromer/estructuras/fxml/cola.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css"
|
||||
);
|
||||
}
|
||||
|
||||
@@ -231,9 +235,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
ResourceBundle resourceBundle = ResourceBundle.getBundle("cl.cromer.estructuras.bundles.Idioma", locale);
|
||||
|
||||
loadStage(
|
||||
"/cl/cromer/estructuras/fxml/main.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
resourceBundle
|
||||
"/cl/cromer/estructuras/fxml/main.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
resourceBundle
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -260,9 +264,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
ResourceBundle resourceBundle = ResourceBundle.getBundle("cl.cromer.estructuras.bundles.Idioma", locale);
|
||||
|
||||
loadStage(
|
||||
"/cl/cromer/estructuras/fxml/main.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
resourceBundle
|
||||
"/cl/cromer/estructuras/fxml/main.fxml",
|
||||
"/cl/cromer/estructuras/css/style.css",
|
||||
resourceBundle
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -283,9 +287,10 @@ public class MenuController extends VBox implements Initializable {
|
||||
|
||||
/**
|
||||
* Cargar el fxml, css y titulo.
|
||||
*
|
||||
* @param title String: El titulo de la escena.
|
||||
* @param fxml String: El archivo de fxml.
|
||||
* @param css String: El archivo de css.
|
||||
* @param fxml String: El archivo de fxml.
|
||||
* @param css String: El archivo de css.
|
||||
*/
|
||||
private void loadStage(String title, String fxml, String css) {
|
||||
Scene scene = menuBar.getScene();
|
||||
@@ -308,8 +313,9 @@ public class MenuController extends VBox implements Initializable {
|
||||
|
||||
/**
|
||||
* Cargar el fxml y css.
|
||||
* @param fxml String: El archivo de fxml.
|
||||
* @param css String: El archivo de css.
|
||||
*
|
||||
* @param fxml String: El archivo de fxml.
|
||||
* @param css String: El archivo de css.
|
||||
* @param resourceBundle ResourceBundle: El idioma nuevo para cambiarlo.
|
||||
*/
|
||||
private void loadStage(String fxml, String css, ResourceBundle resourceBundle) {
|
||||
@@ -333,9 +339,10 @@ public class MenuController extends VBox implements Initializable {
|
||||
|
||||
/**
|
||||
* Cargar el fxml, css y titulo.
|
||||
* @param title String: El titulo de la escena.
|
||||
* @param fxml String: El archivo de fxml.
|
||||
* @param css String: El archivo de css.
|
||||
*
|
||||
* @param title String: El titulo de la escena.
|
||||
* @param fxml String: El archivo de fxml.
|
||||
* @param css String: El archivo de css.
|
||||
* @param object Object: El objeto a pasar a la nueva escena.
|
||||
*/
|
||||
private void loadStage(String title, String fxml, String css, Object object) {
|
||||
|
@@ -16,18 +16,21 @@ import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Merge.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class MergeController implements Initializable {
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private HBox contenidoMerge;
|
||||
@FXML
|
||||
private HBox contenidoMerge;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoMerge;
|
||||
@FXML
|
||||
private Text codigoMerge;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -46,7 +49,8 @@ public class MergeController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
|
@@ -2,6 +2,7 @@ package cl.cromer.estructuras;
|
||||
|
||||
/**
|
||||
* Crear una estructura de dato de tipo pila.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
final public class Pila {
|
||||
@@ -25,6 +26,7 @@ final public class Pila {
|
||||
|
||||
/**
|
||||
* Devolver la cantidad de elementos en la pila.
|
||||
*
|
||||
* @return int: La cantidad de elementos.
|
||||
*/
|
||||
public int size() {
|
||||
@@ -33,6 +35,7 @@ final public class Pila {
|
||||
|
||||
/**
|
||||
* Push un valor en la pila encima.
|
||||
*
|
||||
* @param valor int: El valor a push.
|
||||
*/
|
||||
public void push(int valor) {
|
||||
@@ -56,11 +59,12 @@ final public class Pila {
|
||||
|
||||
/**
|
||||
* Pop un valor de encima de la pila.
|
||||
*
|
||||
* @return boolean: Verdad si fue exitoso.
|
||||
*/
|
||||
public boolean pop() {
|
||||
if (this.pila != null && size() > 0) {
|
||||
String pila[] = new String[this.pila.length -1];
|
||||
String pila[] = new String[this.pila.length - 1];
|
||||
System.arraycopy(this.pila, 0, pila, 0, pila.length);
|
||||
this.pila = pila;
|
||||
size--;
|
||||
@@ -73,11 +77,12 @@ final public class Pila {
|
||||
|
||||
/**
|
||||
* Peek al valor que está encima de la pila.
|
||||
*
|
||||
* @return int: El valor que está encima de la pila.
|
||||
*/
|
||||
public int peek() {
|
||||
if (pila != null && size() > 0) {
|
||||
return Integer.valueOf(pila[pila.length -1]);
|
||||
return Integer.valueOf(pila[pila.length - 1]);
|
||||
}
|
||||
else {
|
||||
return Integer.MIN_VALUE;
|
||||
@@ -86,6 +91,7 @@ final public class Pila {
|
||||
|
||||
/**
|
||||
* Devolver el valor que está en un indice de la pila.
|
||||
*
|
||||
* @param indice int: El indice que desea devolver.
|
||||
* @return String: El valor que está guardado en el indice.
|
||||
*/
|
||||
|
@@ -17,23 +17,27 @@ import java.util.logging.Level;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Pila.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class PilaController implements Initializable {
|
||||
/**
|
||||
* La caja para ingresar textos.
|
||||
*/
|
||||
@FXML private TextFieldLimited valorPila;
|
||||
@FXML
|
||||
private TextFieldLimited valorPila;
|
||||
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private VBox contenidoPila;
|
||||
@FXML
|
||||
private VBox contenidoPila;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoPila;
|
||||
@FXML
|
||||
private Text codigoPila;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -57,7 +61,8 @@ public class PilaController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
@@ -168,8 +173,12 @@ public class PilaController implements Initializable {
|
||||
codigoPila.setText(codigoTexto);
|
||||
|
||||
if (pila.size() > 0) {
|
||||
pila.pop();
|
||||
generarGrafico();
|
||||
if (!pila.pop()) {
|
||||
errorVacia();
|
||||
}
|
||||
else {
|
||||
generarGrafico();
|
||||
}
|
||||
}
|
||||
else {
|
||||
errorVacia();
|
||||
|
@@ -16,18 +16,21 @@ import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Quick.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class QuickController implements Initializable {
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private HBox contenidoQuick;
|
||||
@FXML
|
||||
private HBox contenidoQuick;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoQuick;
|
||||
@FXML
|
||||
private Text codigoQuick;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -46,7 +49,8 @@ public class QuickController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
|
@@ -16,18 +16,21 @@ import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Selección.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class SeleccionController implements Initializable {
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private HBox contenidoSeleccion;
|
||||
@FXML
|
||||
private HBox contenidoSeleccion;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoSeleccion;
|
||||
@FXML
|
||||
private Text codigoSeleccion;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -46,7 +49,8 @@ public class SeleccionController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
|
@@ -16,18 +16,21 @@ import java.util.Scanner;
|
||||
|
||||
/**
|
||||
* Esta clase es para controlar todos la interfaz de Shell.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class ShellController implements Initializable {
|
||||
/**
|
||||
* Donde poner el contenido de array.
|
||||
*/
|
||||
@FXML private HBox contenidoShell;
|
||||
@FXML
|
||||
private HBox contenidoShell;
|
||||
|
||||
/**
|
||||
* Donde va el codigo a mostrar a la pantalla.
|
||||
*/
|
||||
@FXML private Text codigoShell;
|
||||
@FXML
|
||||
private Text codigoShell;
|
||||
|
||||
/**
|
||||
* La escena donde está cosas graficas.
|
||||
@@ -46,7 +49,8 @@ public class ShellController implements Initializable {
|
||||
|
||||
/**
|
||||
* Inicializar todos los datos y dibujar las graficas.
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
*
|
||||
* @param location URL: El URL de fxml en uso.
|
||||
* @param resourceBundle ResourceBundle: Tiene datos de idioma.
|
||||
*/
|
||||
@Override
|
||||
|
@@ -15,6 +15,7 @@ import java.util.List;
|
||||
|
||||
/**
|
||||
* Crear un TextField especial que tiene un maximo de digitos que puede ingresar. Se extiene a TextField.
|
||||
*
|
||||
* @author Chris Cromer
|
||||
*/
|
||||
public class TextFieldLimited extends TextField {
|
||||
@@ -32,6 +33,7 @@ public class TextFieldLimited extends TextField {
|
||||
|
||||
/**
|
||||
* Lista de estilos aplicable.
|
||||
*
|
||||
* @return List: La lista de estilos.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
@@ -41,9 +43,10 @@ public class TextFieldLimited extends TextField {
|
||||
|
||||
/**
|
||||
* Reemplazar el texto basado en cambios de teclado, no deja ingresar mas text si length es mayor al maximo.
|
||||
*
|
||||
* @param start int: Donde empece el cambio.
|
||||
* @param end int: Donde termina.
|
||||
* @param text String: Texto a cambiar.
|
||||
* @param end int: Donde termina.
|
||||
* @param text String: Texto a cambiar.
|
||||
*/
|
||||
@Override
|
||||
public void replaceText(int start, int end, String text) {
|
||||
@@ -62,6 +65,7 @@ public class TextFieldLimited extends TextField {
|
||||
|
||||
/**
|
||||
* Reemplazar un selección de texto.
|
||||
*
|
||||
* @param text String: El texto a reemplazar.
|
||||
*/
|
||||
@Override
|
||||
@@ -84,6 +88,7 @@ public class TextFieldLimited extends TextField {
|
||||
|
||||
/**
|
||||
* Devolver la cantidad maxima si está asignado.
|
||||
*
|
||||
* @return int: Cantidad de caracters.
|
||||
*/
|
||||
public final int getMaxLength() {
|
||||
@@ -92,6 +97,7 @@ public class TextFieldLimited extends TextField {
|
||||
|
||||
/**
|
||||
* Asignar un valor maximo de caracters permitidio en el TextFieldLimited.
|
||||
*
|
||||
* @param value int: La cantidad maxima.
|
||||
*/
|
||||
@SuppressWarnings("unused")
|
||||
@@ -103,6 +109,7 @@ public class TextFieldLimited extends TextField {
|
||||
|
||||
/**
|
||||
* JavaFX FXML field property por tamaño maximo
|
||||
*
|
||||
* @return IntegerProperty: Property.
|
||||
*/
|
||||
public final IntegerProperty maxLengthProperty() {
|
||||
@@ -132,20 +139,20 @@ public class TextFieldLimited extends TextField {
|
||||
* CSS por FXML con un maximo tamaño
|
||||
*/
|
||||
private static class StyleableProperties {
|
||||
private static final CssMetaData<TextFieldLimited,Number> MAX_LENGTH =
|
||||
new CssMetaData<TextFieldLimited,Number>("-fx-max-length", SizeConverter.getInstance(), 0) {
|
||||
@Override
|
||||
public boolean isSettable(TextFieldLimited node) {
|
||||
return node.maxLength == null || !node.maxLength.isBound();
|
||||
}
|
||||
private static final CssMetaData<TextFieldLimited, Number> MAX_LENGTH =
|
||||
new CssMetaData<TextFieldLimited, Number>("-fx-max-length", SizeConverter.getInstance(), 0) {
|
||||
@Override
|
||||
public boolean isSettable(TextFieldLimited node) {
|
||||
return node.maxLength == null || !node.maxLength.isBound();
|
||||
}
|
||||
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public StyleableProperty<Number> getStyleableProperty(TextFieldLimited node) {
|
||||
return (StyleableProperty<Number>) node.maxLengthProperty();
|
||||
}
|
||||
@Override
|
||||
@SuppressWarnings("unchecked")
|
||||
public StyleableProperty<Number> getStyleableProperty(TextFieldLimited node) {
|
||||
return (StyleableProperty<Number>) node.maxLengthProperty();
|
||||
}
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
private static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES;
|
||||
|
||||
|
@@ -12,7 +12,6 @@ tituloMerge=Merge
|
||||
tituloListaEnlazadaSimple=Simple Linked List
|
||||
tituloListaEnlazadaCircular=Circular Linked List
|
||||
tituloListaEnlazadaDoble=Double Linked List
|
||||
|
||||
estructuras=Structures
|
||||
array=Array
|
||||
arraySimple=Simple
|
||||
@@ -41,24 +40,18 @@ grafos=Graphs
|
||||
dirigidos=Directed
|
||||
noDirigidos=Undirected
|
||||
tablaHash=Hash Table
|
||||
|
||||
idioma=Language
|
||||
ingles=English
|
||||
espanol=Spanish
|
||||
|
||||
cambiarIdioma=Change Language
|
||||
cambiarIdiomaMensaje=To change the language the program must be restarted.\n\nAre you sure you wish the restart?
|
||||
|
||||
ayuda=Help
|
||||
acerca=About
|
||||
|
||||
credito=Made by Christopher Cromer(chris@cromer.cl)\nCivil Engineering in Computer Science\nUniversity of the B\u00EDo B\u00EDo
|
||||
|
||||
cambiar=Change
|
||||
cancelar=Cancel
|
||||
cerrar=Close
|
||||
error=Error
|
||||
|
||||
llenar=Fill
|
||||
vaciar=Empty
|
||||
insertar=Insert
|
||||
@@ -70,32 +63,22 @@ peek=Peek
|
||||
nuevo=New
|
||||
paso=Step
|
||||
correr=Run
|
||||
|
||||
arrayLleno=Value not inserted because array is full.
|
||||
arrayValorExiste=Value already exists.
|
||||
arrayNoEsta=Value does not exist.
|
||||
arrayNoValor=Please input a numeric value.
|
||||
|
||||
burbujaYaOrdenado=The array is already sorted.
|
||||
|
||||
insercionYaOrdenado=The array is already sorted.
|
||||
|
||||
seleccionYaOrdenado=The array is already sorted.
|
||||
|
||||
shellYaOrdenado=The array is already sorted.
|
||||
|
||||
quickYaOrdenado=The array is already sorted.
|
||||
|
||||
mergeYaOrdenado=The array is already sorted.
|
||||
|
||||
listaLlaveExiste=Key already exists.
|
||||
listaNoEsta=Key does not exist.
|
||||
listaNoValor=Please input a numeric key and value.
|
||||
|
||||
pilaLlena=Value not inserted because the stack is full.
|
||||
pilaVacia=The stack is empty.
|
||||
pilaNoValor=Please input a numeric value.
|
||||
|
||||
colaLlena=Value not inserted because the queue is full.
|
||||
colaVacia=The queue is empty.
|
||||
colaNoValor=Please input a numeric value.
|
@@ -12,7 +12,6 @@ tituloMerge=Merge
|
||||
tituloListaEnlazadaSimple=Lista Enlazada Simple
|
||||
tituloListaEnlazadaCircular=Lista Enlazada Circular
|
||||
tituloListaEnlazadaDoble=Lista Enlazada Doble
|
||||
|
||||
estructuras=Estructuras
|
||||
array=Array
|
||||
arraySimple=Simple
|
||||
@@ -41,24 +40,18 @@ grafos=Grafo
|
||||
dirigidos=Dirigido
|
||||
noDirigidos=No Dirigido
|
||||
tablaHash=Tabla Hash
|
||||
|
||||
idioma=Idioma
|
||||
ingles=Ingl\u00E9s
|
||||
espanol=Espa\u00F1ol
|
||||
|
||||
cambiarIdioma=Cambiar Idioma
|
||||
cambiarIdiomaMensaje=Para cambiar el idioma el programa debe reiniciarse.\n\nUsted est\u00E1 seguro que desea reiniciar?
|
||||
|
||||
ayuda=Ayuda
|
||||
acerca=Acerca
|
||||
|
||||
credito=Construido por Christopher Cromer\nIngenier\u00EDa Civil en Inform\u00E1tica\nUniversidad del B\u00EDo B\u00EDo
|
||||
|
||||
cambiar=Cambiar
|
||||
cancelar=Cancelar
|
||||
cerrar=Cerrar
|
||||
error=Error
|
||||
|
||||
vaciar=Vaciar
|
||||
llenar=Llenar
|
||||
insertar=Insertar
|
||||
@@ -70,32 +63,22 @@ peek=Peek
|
||||
nuevo=Nuevo
|
||||
paso=Paso
|
||||
correr=Correr
|
||||
|
||||
arrayLleno=Valor no fue insertado porque el array est\u00E1 lleno.
|
||||
arrayValorExiste=El valor ya existe.
|
||||
arrayNoEsta=El valor no existe.
|
||||
arrayNoValor=Ingresar un valor num\u00E9rico por favor.
|
||||
|
||||
burbujaYaOrdenado=El array ya est\u00E1 ordenado.
|
||||
|
||||
insercionYaOrdenado=El array ya est\u00E1 ordenado.
|
||||
|
||||
seleccionYaOrdenado=El array ya est\u00E1 ordenado.
|
||||
|
||||
shellYaOrdenado=El array ya est\u00E1 ordenado.
|
||||
|
||||
quickYaOrdenado=El array ya est\u00E1 ordenado.
|
||||
|
||||
mergeYaOrdenado=El array ya est\u00E1 ordenado.
|
||||
|
||||
listaLlaveExiste=La llave ya existe.
|
||||
listaNoEsta=La llave no existe.
|
||||
listaNoValor=Ingresar una llave y valor num\u00E9ricos por favor.
|
||||
|
||||
pilaLlena=Valor no fue insertado porque la pila est\u00E1 llena.
|
||||
pilaVacia=La pila est\u00E1 vac\u00EDa.
|
||||
pilaNoValor=Ingresar un valor num\u00E9rico por favor.
|
||||
|
||||
colaLlena=Valor no fue insertado porque la cola est\u00E1 llena.
|
||||
colaVacia=La cola est\u00E1 vac\u00EDa.
|
||||
colaNoValor=Ingresar un valor num\u00E9rico por favor.
|
@@ -12,10 +12,6 @@
|
||||
-fx-text-fill: #2d3e4c;
|
||||
}
|
||||
|
||||
.text-field-limited {
|
||||
-fx-max-length: 3;
|
||||
}
|
||||
|
||||
.scroll-pane {
|
||||
-fx-background-color:transparent;
|
||||
-fx-background-color: transparent;
|
||||
}
|
@@ -1,29 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ArrayController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ArrayController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%llenar" onAction="#botonLlenar" />
|
||||
<Button text="%vaciar" onAction="#botonVaciar" />
|
||||
<Button text="%llenar" onAction="#botonLlenar"/>
|
||||
<Button text="%vaciar" onAction="#botonVaciar"/>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%insertar" onAction="#botonInsertar" />
|
||||
<Button text="%eliminar" onAction="#botonEliminar" />
|
||||
<Button text="%buscar" onAction="#botonBuscar" />
|
||||
<TextFieldLimited fx:id="valorArray" maxLength="3" prefWidth="50" />
|
||||
<Button text="%insertar" onAction="#botonInsertar"/>
|
||||
<Button text="%eliminar" onAction="#botonEliminar"/>
|
||||
<Button text="%buscar" onAction="#botonBuscar"/>
|
||||
<TextFieldLimited fx:id="valorArray" maxLength="3" prefWidth="50"/>
|
||||
</HBox>
|
||||
<VBox fx:id="contenidoArray" alignment="CENTER" />
|
||||
<VBox fx:id="contenidoArray" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoArray" />
|
||||
<Text fx:id="codigoArray"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.BurbujaController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.BurbujaController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%nuevo" onAction="#botonNuevo" />
|
||||
<Button text="%paso" onAction="#botonPaso" />
|
||||
<Button text="%correr" onAction="#botonCorrer" />
|
||||
<Button text="%nuevo" onAction="#botonNuevo"/>
|
||||
<Button text="%paso" onAction="#botonPaso"/>
|
||||
<Button text="%correr" onAction="#botonCorrer"/>
|
||||
</HBox>
|
||||
<HBox fx:id="contenidoBurbuja" alignment="CENTER" />
|
||||
<HBox fx:id="contenidoBurbuja" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoBurbuja" />
|
||||
<Text fx:id="codigoBurbuja"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,30 +1,30 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ColaController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ColaController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%llenar" onAction="#botonLlenar" />
|
||||
<Button text="%vaciar" onAction="#botonVaciar" />
|
||||
<Button text="%llenar" onAction="#botonLlenar"/>
|
||||
<Button text="%vaciar" onAction="#botonVaciar"/>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%push" onAction="#botonPush" />
|
||||
<Button text="%pop" onAction="#botonPop" />
|
||||
<Button text="%peek" onAction="#botonPeek" />
|
||||
<TextFieldLimited fx:id="valorCola" maxLength="3" prefWidth="50" />
|
||||
<Button text="%push" onAction="#botonPush"/>
|
||||
<Button text="%pop" onAction="#botonPop"/>
|
||||
<Button text="%peek" onAction="#botonPeek"/>
|
||||
<TextFieldLimited fx:id="valorCola" maxLength="3" prefWidth="50"/>
|
||||
</HBox>
|
||||
<VBox fx:id="contenidoCola" alignment="CENTER" />
|
||||
<VBox fx:id="contenidoCola" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoCola" />
|
||||
<Text fx:id="codigoCola"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.InsercionController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.InsercionController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%nuevo" onAction="#botonNuevo" />
|
||||
<Button text="%paso" onAction="#botonPaso" />
|
||||
<Button text="%correr" onAction="#botonCorrer" />
|
||||
<Button text="%nuevo" onAction="#botonNuevo"/>
|
||||
<Button text="%paso" onAction="#botonPaso"/>
|
||||
<Button text="%correr" onAction="#botonCorrer"/>
|
||||
</HBox>
|
||||
<HBox fx:id="contenidoInsercion" alignment="CENTER" />
|
||||
<HBox fx:id="contenidoInsercion" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoInsercion" />
|
||||
<Text fx:id="codigoInsercion"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,32 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ListaEnlazdaController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ListaEnlazdaController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%llenar" onAction="#botonLlenar" />
|
||||
<Button text="%vaciar" onAction="#botonVaciar" />
|
||||
<Button text="%llenar" onAction="#botonLlenar"/>
|
||||
<Button text="%vaciar" onAction="#botonVaciar"/>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%insertar" onAction="#botonInsertar" />
|
||||
<Button text="%eliminar" onAction="#botonEliminar" />
|
||||
<Button text="%buscar" onAction="#botonBuscar" />
|
||||
<TextFieldLimited fx:id="valorLista" maxLength="2" prefWidth="40" />
|
||||
<Button text="%insertar" onAction="#botonInsertar"/>
|
||||
<Button text="%eliminar" onAction="#botonEliminar"/>
|
||||
<Button text="%buscar" onAction="#botonBuscar"/>
|
||||
<TextFieldLimited fx:id="valorLista" maxLength="2" prefWidth="40"/>
|
||||
</HBox>
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="0">
|
||||
<VBox fx:id="contenidoListaCircular" alignment="TOP_LEFT" />
|
||||
<VBox fx:id="contenidoLista" alignment="TOP_CENTER" />
|
||||
<VBox fx:id="contenidoListaCircular" alignment="TOP_LEFT"/>
|
||||
<VBox fx:id="contenidoLista" alignment="TOP_CENTER"/>
|
||||
</HBox>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoLista" />
|
||||
<Text fx:id="codigoLista"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,16 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92">
|
||||
<?import javafx.scene.image.Image?>
|
||||
<?import javafx.scene.image.ImageView?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="CENTER" VBox.vgrow="ALWAYS">
|
||||
<ImageView>
|
||||
<Image url="@/cl/cromer/estructuras/images/UBBLogo.png" />
|
||||
<Image url="@/cl/cromer/estructuras/images/UBBLogo.png"/>
|
||||
</ImageView>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
|
||||
<MenuBar xmlns:fx="http://javafx.com/fxml/1" fx:id="menuBar" fx:controller="cl.cromer.estructuras.MenuController" xmlns="http://javafx.com/javafx/8.0.92">
|
||||
<MenuBar xmlns:fx="http://javafx.com/fxml/1" fx:id="menuBar" fx:controller="cl.cromer.estructuras.MenuController"
|
||||
xmlns="http://javafx.com/javafx/8.0.92">
|
||||
<Menu text="%estructuras">
|
||||
<Menu text="%array">
|
||||
<MenuItem text="%arraySimple" onAction="#menuArraySimple"/>
|
||||
|
@@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.MergeController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.MergeController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%nuevo" onAction="#botonNuevo" />
|
||||
<Button text="%paso" onAction="#botonPaso" />
|
||||
<Button text="%correr" onAction="#botonCorrer" />
|
||||
<Button text="%nuevo" onAction="#botonNuevo"/>
|
||||
<Button text="%paso" onAction="#botonPaso"/>
|
||||
<Button text="%correr" onAction="#botonCorrer"/>
|
||||
</HBox>
|
||||
<HBox fx:id="contenidoMerge" alignment="CENTER" />
|
||||
<HBox fx:id="contenidoMerge" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoMerge" />
|
||||
<Text fx:id="codigoMerge"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,29 +1,29 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import cl.cromer.estructuras.TextFieldLimited?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.PilaController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.PilaController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button fx:id="botonLlenar" text="%llenar" onAction="#botonLlenar" />
|
||||
<Button fx:id="botonVaciar" text="%vaciar" onAction="#botonVaciar" />
|
||||
<Button fx:id="botonLlenar" text="%llenar" onAction="#botonLlenar"/>
|
||||
<Button fx:id="botonVaciar" text="%vaciar" onAction="#botonVaciar"/>
|
||||
</HBox>
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button fx:id="botonPush" text="%push" onAction="#botonPush" />
|
||||
<Button fx:id="botonPop" text="%pop" onAction="#botonPop" />
|
||||
<Button fx:id="botonPeek" text="%peek" onAction="#botonPeek" />
|
||||
<TextFieldLimited fx:id="valorPila" maxLength="3" prefWidth="50" />
|
||||
<Button fx:id="botonPush" text="%push" onAction="#botonPush"/>
|
||||
<Button fx:id="botonPop" text="%pop" onAction="#botonPop"/>
|
||||
<Button fx:id="botonPeek" text="%peek" onAction="#botonPeek"/>
|
||||
<TextFieldLimited fx:id="valorPila" maxLength="3" prefWidth="50"/>
|
||||
</HBox>
|
||||
<VBox fx:id="contenidoPila" alignment="CENTER" />
|
||||
<VBox fx:id="contenidoPila" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoPila" />
|
||||
<Text fx:id="codigoPila"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.QuickController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.QuickController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%nuevo" onAction="#botonNuevo" />
|
||||
<Button text="%paso" onAction="#botonPaso" />
|
||||
<Button text="%correr" onAction="#botonCorrer" />
|
||||
<Button text="%nuevo" onAction="#botonNuevo"/>
|
||||
<Button text="%paso" onAction="#botonPaso"/>
|
||||
<Button text="%correr" onAction="#botonCorrer"/>
|
||||
</HBox>
|
||||
<HBox fx:id="contenidoQuick" alignment="CENTER" />
|
||||
<HBox fx:id="contenidoQuick" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoQuick" />
|
||||
<Text fx:id="codigoQuick"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.SeleccionController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.SeleccionController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%nuevo" onAction="#botonNuevo" />
|
||||
<Button text="%paso" onAction="#botonPaso" />
|
||||
<Button text="%correr" onAction="#botonCorrer" />
|
||||
<Button text="%nuevo" onAction="#botonNuevo"/>
|
||||
<Button text="%paso" onAction="#botonPaso"/>
|
||||
<Button text="%correr" onAction="#botonCorrer"/>
|
||||
</HBox>
|
||||
<HBox fx:id="contenidoSeleccion" alignment="CENTER" />
|
||||
<HBox fx:id="contenidoSeleccion" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoSeleccion" />
|
||||
<Text fx:id="codigoSeleccion"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
@@ -1,23 +1,24 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.ScrollPane?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.Text?>
|
||||
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10" xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ShellController">
|
||||
<fx:include source="menu.fxml" />
|
||||
<VBox xmlns:fx="http://javafx.com/fxml/1" prefHeight="768.0" prefWidth="1024.0" spacing="10"
|
||||
xmlns="http://javafx.com/javafx/8.0.92" fx:controller="cl.cromer.estructuras.ShellController">
|
||||
<fx:include source="menu.fxml"/>
|
||||
<ScrollPane fitToHeight="true" fitToWidth="true" VBox.vgrow="ALWAYS">
|
||||
<HBox alignment="TOP_CENTER" VBox.vgrow="ALWAYS" spacing="50">
|
||||
<VBox spacing="10">
|
||||
<HBox alignment="CENTER" spacing="10">
|
||||
<Button text="%nuevo" onAction="#botonNuevo" />
|
||||
<Button text="%paso" onAction="#botonPaso" />
|
||||
<Button text="%correr" onAction="#botonCorrer" />
|
||||
<Button text="%nuevo" onAction="#botonNuevo"/>
|
||||
<Button text="%paso" onAction="#botonPaso"/>
|
||||
<Button text="%correr" onAction="#botonCorrer"/>
|
||||
</HBox>
|
||||
<HBox fx:id="contenidoShell" alignment="CENTER" />
|
||||
<HBox fx:id="contenidoShell" alignment="CENTER"/>
|
||||
</VBox>
|
||||
<StackPane alignment="TOP_LEFT" minWidth="450">
|
||||
<Text fx:id="codigoShell" />
|
||||
<Text fx:id="codigoShell"/>
|
||||
</StackPane>
|
||||
</HBox>
|
||||
</ScrollPane>
|
||||
|
Reference in New Issue
Block a user