Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/05/2017, 09:24
Jose789
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 11 años, 4 meses
Puntos: 4
Volver a repintar el area

A través de un formulario debo de dibujar 2 figuras geométricas, el problema es el siguiente si en el Main borro las 2 lineas siguientes y las coloco en el formulario.java se dibuja pero en diferentes pantallas cuando tiene que estar las 2 figuras en las misma.

De esta forma no consigo que pinte nada en la ventana.

Main.java
Código Java:
Ver original
  1. pintar pintar = new pintar();
  2.      pintar.setVisible(true);

Y a través del formulario.java llamo al constructor

Código Java:
Ver original
  1. pintar pintar = new pintar(tipo,clor,x,y,height,width);

pintar.java
Código Java:
Ver original
  1. package graficos2d;
  2.  
  3. import javax.swing.*;
  4. import java.awt.*;
  5.  
  6. public class pintar extends JFrame {
  7.  
  8.     private String figura, clor;
  9.     private int alto, ancho, x, y;
  10.    
  11.     pintar(){
  12.         setSize(400, 400);
  13.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  14.         setLocationRelativeTo(null);
  15.         setVisible(true);
  16.     }
  17.    
  18.     public pintar(String figura, String clor, int x, int y, int alto, int ancho) {
  19.        
  20.         this.figura = figura;
  21.         this.clor = clor;
  22.         this.x = x;
  23.         this.y = y;
  24.         this.alto = alto;
  25.         this.ancho = ancho;
  26.  
  27.         System.out.println(clor + " " + figura + " " + x + " " + y + " " + alto + " " + ancho);
  28.        
  29.     }
  30.  
  31.     @Override
  32.     public void paint(Graphics g) {
  33.         super.paint(g);
  34.        
  35.         if (figura == "Circulo") {
  36.             g.setColor(Color.BLUE);
  37.             g.fillOval(x, y, ancho, alto);
  38.         } else if (figura == "Rectangulo") {
  39.             g.setColor(Color.RED);
  40.             g.fillRect(x, y, ancho, alto);
  41.         }
  42.        
  43.     }
  44.  
  45. }

Gracias de antemano.