IngenieríaenAnimación Digital
y EfectosVisuales
Asignatura: ProgramaciónOrientadaaObjetos
Profesor: ISC.LizbethHernándezOlán
Unidad3 Herencia Fecha: 04/05/17
Practica3 PanelDibujo Página 1 de 2
No.Control 16081980 NombredelAlumno NEQUIZORTIZURIEL
1.EnunciadodelProblema.
2.CódigoFuente
/* practica 3.
No.Control 16081980 NEQUIZORTIZURIEL
*/
import java.awt.Point;
import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import javax.swing.JPanel;
public class PanelDibujo extends JPanel
{
private int cuentaPuntos = 0; // cuenta el número de puntos
// arreglo de 10000 referencias a java.awt.Point
private Point puntos[] = new Point[ 10000 ];
// establece la GUI y registra el manejador de eventos del ratón
public PanelDibujo()
{
// maneja evento de movimiento del ratón en el marco
addMouseMotionListener(
new MouseMotionAdapter() // clase interna anónima
{
// almacena las coordenadas de arrastre y vuelve a dibujar
public void mouseDragged( MouseEvent evento )
{
if ( cuentaPuntos < puntos.length )
{
puntos[ cuentaPuntos ] = evento.getPoint(); // busca el punto
cuentaPuntos++; // incrementa el número de puntos en el arreglo
repaint(); // vuelve a dibujar JFrame
} // ?n de if
} // ?n del método mouseDragged
} // ?n de la clase interna anónima
); // ?n de la llamada a addMouseMotionListener
} // ?n del pconstructor de PanelDibujo
// dibuja un óvalo en un cuadro delimitador de 4 x 4, en la ubicación especi?cada en la ventana
public void paintComponent( Graphics g )
{
super.paintComponent( g ); // borra el área de dibujo
// dibuja todos los puntos en el arreglo
for ( int i = 0; i < cuentaPuntos; i++ )
g. fillOval( puntos[ i ].x, puntos[ i ].y, 4, 4 );
} // ?n del método paint
}
/* practica 3.
No.Control 16081980 NEQUIZORTIZURIEL
*/
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Pintor
{
public static void main( String args[] )
{
// crea objeto JFrame
JFrame aplicacion = new JFrame( "Un programa simple de dibujo" );
PanelDibujo panelDibujo = new PanelDibujo(); // crea panel de dibujo
aplicacion.add( panelDibujo, BorderLayout.CENTER ); // en el centro
// crea una etiqueta y la coloca en la región SOUTH de BorderLayout
aplicacion.add( new JLabel( "Arrastre el raton para dibujar" ),
BorderLayout.SOUTH );
aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
aplicacion.setSize( 400, 200 ); // establece el tamaño del marco
aplicacion.setVisible( true ); // muestra el marco
} // ?n de main
}
3.Impresióndepantalla,sóloelresultadoobtenido(noimpresionesdecódigo)

Prac3

  • 1.
    IngenieríaenAnimación Digital y EfectosVisuales Asignatura:ProgramaciónOrientadaaObjetos Profesor: ISC.LizbethHernándezOlán Unidad3 Herencia Fecha: 04/05/17 Practica3 PanelDibujo Página 1 de 2 No.Control 16081980 NombredelAlumno NEQUIZORTIZURIEL 1.EnunciadodelProblema. 2.CódigoFuente /* practica 3. No.Control 16081980 NEQUIZORTIZURIEL */ import java.awt.Point; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import javax.swing.JPanel; public class PanelDibujo extends JPanel { private int cuentaPuntos = 0; // cuenta el número de puntos // arreglo de 10000 referencias a java.awt.Point private Point puntos[] = new Point[ 10000 ]; // establece la GUI y registra el manejador de eventos del ratón public PanelDibujo() { // maneja evento de movimiento del ratón en el marco addMouseMotionListener( new MouseMotionAdapter() // clase interna anónima { // almacena las coordenadas de arrastre y vuelve a dibujar public void mouseDragged( MouseEvent evento ) { if ( cuentaPuntos < puntos.length ) { puntos[ cuentaPuntos ] = evento.getPoint(); // busca el punto cuentaPuntos++; // incrementa el número de puntos en el arreglo repaint(); // vuelve a dibujar JFrame } // ?n de if } // ?n del método mouseDragged } // ?n de la clase interna anónima ); // ?n de la llamada a addMouseMotionListener } // ?n del pconstructor de PanelDibujo // dibuja un óvalo en un cuadro delimitador de 4 x 4, en la ubicación especi?cada en la ventana public void paintComponent( Graphics g ) { super.paintComponent( g ); // borra el área de dibujo // dibuja todos los puntos en el arreglo for ( int i = 0; i < cuentaPuntos; i++ ) g. fillOval( puntos[ i ].x, puntos[ i ].y, 4, 4 ); } // ?n del método paint } /* practica 3. No.Control 16081980 NEQUIZORTIZURIEL */ import java.awt.BorderLayout; import javax.swing.JFrame;
  • 2.
    import javax.swing.JLabel; public classPintor { public static void main( String args[] ) { // crea objeto JFrame JFrame aplicacion = new JFrame( "Un programa simple de dibujo" ); PanelDibujo panelDibujo = new PanelDibujo(); // crea panel de dibujo aplicacion.add( panelDibujo, BorderLayout.CENTER ); // en el centro // crea una etiqueta y la coloca en la región SOUTH de BorderLayout aplicacion.add( new JLabel( "Arrastre el raton para dibujar" ), BorderLayout.SOUTH ); aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); aplicacion.setSize( 400, 200 ); // establece el tamaño del marco aplicacion.setVisible( true ); // muestra el marco } // ?n de main } 3.Impresióndepantalla,sóloelresultadoobtenido(noimpresionesdecódigo)