Java - Metodos de Ordenamiento Interfaz Grafica

 
Vista:

Metodos de Ordenamiento Interfaz Grafica

Publicado por Iman (1 intervención) el 05/10/2015 15:48:34
Estimados,
Necesito su ayuda para realizar lo siguiente...

Desarrollar una aplicación con interfaz gráfica utilizando SWING, en
donde exista un formulario que permita ingresar 10 dígitos (solo dígitos, no
debe permitir ingresar otra cosa).
Además de eso, el formulario debe tener los siguientes botones:
 Reestablecer formulario (limpiar todas las casillas).
 Ordenamiento Burbuja.
 Ordenamiento Inserción.
 Ordenamiento Selección.
 Ordenamiento Shell.
Una vez que estén ingresados los 10 dígitos, deben habilitarse los 4
botones para ordenamiento, no antes. Cuando se presione un botón de
método de ordenamiento, deben ordenarse los 10 dígitos ingresados según
el método seleccionado y deben mostrarse en el mismo formulario los 10
dígitos ya ordenados (puede mostrarlos usando solo JLabels, o JButtons o
una JTable). Luego, el usuario debería apretar el botón Reestablecer
formulario y el formulario debería estar en cero para volver a ingresar los
dígitos y realizar la operación desde el principio cuantas veces quiera.

Lo principal que necesito conocer es como ingresar los datos y como llamarlos hacia otra clase que ejecute el método de ordenamiento.

Help me Please!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Juan

Metodos de Ordenamiento Interfaz Grafica

Publicado por Juan (7 intervenciones) el 06/10/2015 16:13:12
Hola yo puedo ayudarte. Has hecho parte del trabajo?
Puedes mandarme el codigo que tienes a mi correo: [email protected]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Metodos de Ordenamiento Interfaz Grafica

Publicado por ladyneko121 (1 intervención) el 09/06/2019 18:51:25
hola me podrias ayudar igual tengo el mismo problema plis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kabuto
Val: 3.428
Oro
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Metodos de Ordenamiento Interfaz Grafica

Publicado por Kabuto (1381 intervenciones) el 09/06/2019 22:57:09
Hola ladyneko121.

Si tienes algo ya hecho, publicalo aquí y te ayudamos a completarlo.

En cualquier caso, yo dejo por aquí uno de ejemplo que acabo de hacer.

ordenamiento


A este mensaje adjunto un archivo zip con el código.

Son dos archivos Java.

Uno esta pensado simplemente para contener métodos estáticos que se encargarían de ordenar los digitos.
Solo he puesto el método para el "ordenamiento por burbuja", los otros métodos tendrá que añadirlos quienes quieran completar este ejercicio.

El otro archivo Java es el principal, quien pone en marcha el programa mostrando la interfaz del usuario.

La interfaz es sencilla, es un marco con 4 paneles.
El primero tiene simplemente un enunciado.

El segundo tiene los 10 JTextField donde se han de teclear los digitos.
Estos campos están declarados dentro de un array, así es más sencillo gestionarlos porque se puede acceder a todos ellos mediante bucles.
Cada campo incorpora un KeyListener que controla lo que se teclea en ellos, de manera que cada campo solo admite un único digito entre 0 y 9.
Además en cada pulsación se comprueba si todos los campos tienen ya un digito o no, para decidir si activar o desactivar los botones para escoger ordenamiento.

El tercer panel tiene 10 JLabel donde se muestran los digitos ya ordenados. También están contenidos dentro de un array por el mismo motivo que antes, poder acceder a todos ellos fácilmente mediante bucles.

El cuarto panel tiene los botones.

Cada uno de estos paneles están creados como subclases dentro de la clase principal.


Cuando se han tecleado todos los digitos, se activan los botones para escoger tipo de ordenamiento.
Al pulsar el botón deseado (repito que ahora mismo solo funciona el del "Método de la Burbuja") se ponen en marcha tres pasos:

1
2
3
4
5
6
7
8
class AccionBurbuja implements ActionListener {
		@Override
		public void actionPerformed(ActionEvent e) {
			int[] digitos = recogeDigitos();
			Ordenamientos.burbuja(digitos);
			muestraDigitosOrdenados(digitos);
		}
	}

- EL método recogeDigitos(), como su nombre indica, recorrer todos los JTextField, recoge el digito que contiene tecleado y los transforma en int para crear un array con ellos.
- Este array de int, se lo pasamos al método estático correspondiente escrito en el otro archivo Java que se encargará de ordenarlos según el tipo de ordenamiento escogido, en este ejemplo, el de la Burbuja.
- Tras esta invocación, ahora el array ya tiene los int correctamente ordenados, así que se los pasamos a otro método que, usando un bucle, cogerá cada uno de esos int y lo pondrá en cada uno de los JLabel del tercer panel.
De este modo se mostrará en la interfaz los dígitos ya ordenados.


Así que a mi código solo le faltaría crear métodos para los otros tipos de ordenamiento: Insercion, Selección y Shell.
Y crear otras tres subclases ActionListener como la del ejemplo, una para cada tipo, y añadirselas a los otros tres botones de la interfaz que ahora mismo no tienen ninguna funcionalidad.


El código tiene varios comentarios explicando, pero cualquier duda, preguntad por aquí.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Metodos de Ordenamiento Interfaz Grafica

Publicado por Roger (1 intervención) el 07/10/2015 00:07:56
Hola, creó que acá te vendría muy bien aplicar el patrón strategy y pasarle como parámetro un array de enteros con los números ingresados y que te retorne un array de enteros ordenados. Algo así. Por cada forma de ordenar una clase concreta que implemente la interfaz ordenable. El método de la interfaz a implementar por cada clase concreta es
public array ordenado ordenar(array desordenado)
Cada clase concreta sabrá ordenar a su manera.
Es sólo un bosquejo y sorry por la sintaxis conteste desde el celu. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar