Ahora veremos la solución:
La clase inicial que antes se llamaba Objeto2D ahora se llama Object2D:
Código Java:
Ver originalclass Object2D {
int TipoObjeto;
static int mLINE = 1;
static int mRECT = 2;
int X0,Y0, X1,Y1;
float ms;
Object2D
(Color c,
int t,
int x0,
int x1,
int y0,
int y1,
float s
){ TipoObjeto = t;
mc = c;
ms = s;
X0 = x0;
Y0 = y0;
X1 = x1;
Y1 = y1;
}
g2d.setColor(mc);
g2d.setPaintMode();
if (TipoObjeto==mLINE){
}
if (TipoObjeto==mRECT){
}
g2d.dispose();
}
}
Uso de la clase:
Hago uso de un vector tipo BufferedImage llamado
bImage, así se "comunica" la clase contenedora con la contenida para pasarle el objeto de referencia para dibujar, éste es inicializado en el constructor de la clase Graficador.
Código Java:
Ver originalpublic class Graficador
extends javax.
swing.
JFrame { /** Creates new form Graficador */
Vector<Object2D> ObjectVector = new Vector<Object2D>();
public Graficador() {
super( "Dibujo de figuras en 2D" );
setVisible(true);
initComponents();
}
Solo cambia algunas cosas, ya no hay objeto Graphics como referencia de dibujo, sino BufferedImage, ahhh y también cambié los nombres de algunos métodos..para poder hacer preguntas con mi código en foros ingleses.
Código Java:
Ver originalpublic void DrawVector(){
if(!ObjectVector.isEmpty()){
for (int i = 0; i<ObjectVector.size();i++){
ObjectVector.elementAt(i).ViewObject2D(bImage);
}
}
}
public void FillVector(){
ObjectVector.
addElement(new Object2D
(new Color(0,
255,
255),Object2D.
mLINE,
250,
300,
500,
90,0.6f
)); ObjectVector.
addElement(new Object2D
(new Color(255,
255,
0),Object2D.
mRECT,
250,
250,
150,
50,0.1f
)); }
El método paint queda más sencillo, al final todos los cambios hechos se reflejarán al final al llamar
g.drawImage(bImage, 0, 0, this);
Código Java:
Ver original super.paint(g);
DrawVector();
g.drawImage(bImage, 0, 0, this);
}
El método que es llamado cuando es presionado el botón
jbDibujar
Código Java:
Ver originalprivate void jbDibujarActionPerformed
(java.
awt.
event.
ActionEvent evt
) { FillVector();
repaint();
}
Espero les sea de ayuda...