Diferencia entre revisiones de «Programación en Java/Apéndices/Implementación del Algoritmo de Kruskal en Java»

Contenido eliminado Contenido añadido
Línea 718:
</source>
===VENTANA===
//MODIFICADO POR ILCELIS OSORIO
import java.awt.Color;
import java.awt.Container;
Línea 781 ⟶ 780:
lienzo.setBounds(0, 0, 600, 600);
lienzo.setBorder(BorderFactory.createBevelBorder(1));
lienzo.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSORCROSSHAIR_CURSOR));
pun = new Punto[2];
Línea 837 ⟶ 836:
aplicar=new JButton("Aplicar");
aplicar.setBounds(670,160, 80, 20);// tamaño de los botones
aplicar.setFont(font);
nuevo=new JButton("Nuevo");
nuevo.setBounds(760,160, 80, 20);
nuevo.setFont(font);
recuperar=new JButton("recuperarReset");
recuperar.setBounds(850,160,100 80, 20);
 
recuperar.setFont(font);
Línea 850 ⟶ 848:
ayudaCombo.setBounds(710,240,175,20);
ayudaNod = "\nCOMOn¡¡¡COMO CREAR UN NODO!!!\n\n" + "1. Seleccione el RadioButton \"Crear Nodo\".\n" + "2. Haga doble click sobre el area de Dibujo.\n" + "3. Inserte el nombre del Nodo.\n" + "4. Haga click en Aceptar.";
ayudaAri = "\nCOMOn¡¡¡COMO CREAR UNA ARISTA!!!\n\n" + "1. Seleccione el RadioButton \"Crear Arista\".\n" + "2. Seleccione el Tipo de arista que desee\n \"Arista\", \"Arista Curva\", o \"Arista Bucle\".\n" + "3. Haga click sobre el nodo que desea sea el\n nodo inicial.\n" + "4. Mantega presionado el boton del mouse\n y arrastrelo hasta el nodo terminal.\n" + "5. Suelte el boton del mouse e ingrese\n el peso de la Arista.\n" + "6. Haga click en Aceptar.";
ayudaMod = "\nCOMOn¡¡¡COMO MODIFICAR EL GRAFO!!!\n\n" + "1. Seleccione el RadioButton \"Modificar\".\n" + "2. Haga click sobre un Nodo\n" + "3. Mantega presionado el bot�nbotón del mouse \n y arrastrelo para darle una nueva\n posici�nposición al nodo.\n" + "4. Suelte el bot�nbotón del mouse.";
ayudaRes = "\nBOTONn¡¡¡BOTON RESET!!!\n\n" + " Este bot�nbotón permite recuperar el estado \n" + " del Grafo antes de aplicar el Algoritmo de \n" + " Kruskal.\n";
ayudaApl = "\nBOTONn¡¡¡BOTON APLICAR!!!\n\n" + " Este bot�nbotón permite Aplicar el Algoritmo de\n" + " Kruskal al Grafo dibujado por el Usuario.";
ayudaNue = "\nBOTONn¡¡¡BOTON NUEVO!!!\n\n" + " Limpia el area de Dibujo para crear un\n" + " nuevo Grafo y poder aplicar nuevamente\n" + " el Algoritmo de Kruskal.\n";
contenedor.setLayout(null);
Línea 895 ⟶ 893:
public void mouseClicked(MouseEvent evento)
{
if (evento.getClickCount() == 12&&radioNodo.isSelected()==true)//evalua las veces que debe hacer clic para dibujar un nuevo punto
{
Línea 928 ⟶ 926:
}
public void actionPerformed(ActionEvent e) {
 
if(e.getSource()==aplicar) //puntos.size()
{
 
if ((puntos.size())!=0){
if ((aristas.size())!=0){
 
AlgoritmoKruskal nuevo=new AlgoritmoKruskal();
Grafo kruskal= new Grafo();
kruskal=nuevo.aplicarKruskal(grafo);
lienzo.cambiarGrafo(kruskal);}
else{
JOptionPane.showMessageDialog(null,"no es posible aplicar el algoritmo kruskal, porque no hay aristas","ERROR",JOptionPane.ERROR_MESSAGE );
 
}
}
 
else{
JOptionPane.showMessageDialog(null,"no es posible aplicar el algoritmo kruskal, porque no hay nodos ni aristas","ERROR",JOptionPane.ERROR_MESSAGE );
 
}
}
if(e.getSource()==nuevo)
Línea 982 ⟶ 966:
comboOpcionesRecta.setEnabled(true);
if(evento.getSource()==radioNodo||radioNodo.isSelected())
lienzo.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSORCROSSHAIR_CURSOR));
else
lienzo.setCursor(Cursor.getDefaultCursor());
Línea 1063 ⟶ 1047:
catch(NumberFormatException ex)
{
JOptionPane.showMessageDialog(null,"El peso de la Arista debe ser un N�meroNúmero","Ingrese de nuevo el Peso",JOptionPane.ERROR_MESSAGE );
peso=-1;
}
Línea 1174 ⟶ 1158:
}
 
====Clase Aplicación====