Ver Mensaje Individual
  #3 (permalink)  
Antiguo 26/06/2014, 10:44
Avatar de freddy31DA
freddy31DA
 
Fecha de Ingreso: junio-2012
Mensajes: 84
Antigüedad: 11 años, 11 meses
Puntos: 2
Respuesta: dibujar rectángulos con listas enlazadas simples

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

Estas haciendo dos new Lista(), uno se llama dibujar y otro se llama obj. En obj metes los elementos que creas con el menu, pero metes dibujar, que no tiene elementos, en el JFrame.

Se bueno.
Gracias men por la sugerencia, e intentado usar un solo objeto lista declarandola arriba en fin asi
Código Java:
Ver original
  1. static Lista  obj = new Lista();
y usar esta para crear el JFRAME


Código Java:
Ver original
  1. public static void mostrar(){
  2.               JFrame marco = new JFrame("Listas representación Grafica");  
  3.               marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  4.              
  5.              
  6.               obj.setBackground(Color.WHITE);
  7.               marco.add(obj);
  8.               marco.setSize(1000, 500);
  9.               marco.setVisible(true);
  10. //            System.out.println(obj.mostrar_Elementos());
  11.         }

En la lista en el metodo paint dibuje un cuadrado
Código Java:
Ver original
  1. public void paint(Graphics nuevo){
  2.                
  3.                
  4.                
  5.                     super.paintComponent(nuevo); //llama al metodo paint.
  6.                     this.setBackground(Color.WHITE);
  7.                    
  8.                              nuevo.setColor(Color.RED);
  9.                              nuevo.fillRect(50, 90, 50, 60);
  10.    
  11.             }
Al ejecutar presentación usando la opcion MOSTRAR si me dibujar el cuadrado ahora. No entiendo por que no me dibuja los cuadrados dinamicos si agrego 5 cordenadas debería de dibujarme 5 cuadrados. Estoy tratando de hacerlo dinámico volcando los elementos de la lista que en realidad son cordenadas y que generan nuevos fillRect();
Dinámico seria asi:
Código Java:
Ver original
  1. public void paint(Graphics nuevo){
  2.                
  3.                
  4.                
  5.                     super.paintComponent(nuevo); //llama al metodo paint.
  6.                     this.setBackground(Color.WHITE);
  7.                     Elemento p = cabecera;
  8.                     while(p!=null){
  9.                              nuevo.setColor(Color.RED);
  10.                              nuevo.fillRect(p.getX(), p.getY(), p.getA(), p.getH());
  11.                              p = p.siguiente;
  12.                     }
  13.                    
  14.                  
  15.             }

Al ejecutar esto solo me dibujar dos cuadrados. Al poner un ciclo dentro del metodo paint solo me dibuja los 5 cuadrados en la primera ronda del ciclo después ya no le hace caso
Código Java:
Ver original
  1. for (int i = 0; i < 10; i++) {
  2.                                 nuevo.setColor(Color.RED);
  3.                                 nuevo.fillRect(100, 90, 50, 60);
  4.                                 nuevo.fillRect(200, 90, 50, 60);
  5.                                 nuevo.fillRect(300, 90, 50, 60);
  6.                                 nuevo.fillRect(400, 90, 50, 60);
  7.                                 nuevo.fillRect(500, 90, 50, 60);
  8.                 }
Hasta e creado un contador cada vez que ingrese cont incrementa para usarla dentro del ciclo que está en el metodo paint el for no hace caso :(

E grabado este video men aver ayúdame

https://www.youtube.com/watch?v=4fvIfOoXkU8

el proyecto netbeans: https://www.mediafire.com/?kd7mv7td6q4ibha