You are on page 1of 24

INSTITUTO TECNOLOGICO SUPERIOR DE COATZACOALCOS

CARRERA

ING. EN SISTEMAS COMPUTACIONALES

DOCENTE

ARTURO ESTUDILLO QUINTALAN
TRABAJO

EXAMEN DE LA TERCERA Y CUARTA UNIDAD
ESTUDIANTES

o HELDER CRUZ IGNACIO o ANTONIO WALLE WONG
BLOQUE Y SECCION

4 A ISC

27 DE MAYO DEL 2013

CAPTURAS DE PANTALLA

public class ANIMACIONES extends JFrame implements ActionListener. import javax.event. import java.swing.awt. public static void main(String[]args) { ANIMACIONES ejecutara marco=new ANIMACIONES().iniciar3.JButton. import java. // declaramos las variables que utilizaremos para llamar a los objetos como tambien private Semaforo animacion2. private JPanel panel1. import java.Color. .WindowListener//exportamos las libreriaas como tambien declaramos la clase principal implementando los eventos y un windows litener para incialializar los eventos cuando se ejecute la pantalla { private JButton iniciar1.detener3.//las variables que utilizaremos para la creacion de los botones private Figuras animacion3.util.panel4. private arbol animacion1.panel2.600). private Tamaños animacion4. import java.setSize(800.iniciar4.event.swing. import java. import javax.panel3.//creamos el main y la ventana que se marco.detener1.*.CODIGO DOCUMENTADO.detener2.awt.awt.awt.iniciar2.Random.*.detener4.*.WindowEvent.

addWindowListener(this). ventana. iniciar1.200)).white).add(iniciar1). ventana.crearGUI(). panel1=new JPanel().marco.setLocation(350. iniciar1=new JButton("iniciar 1").//en este apartado creamos los botones y los paneles ventana. .add(panel1).setPreferredSize(new Dimension(200. detener1.90). marco.//asignandole tamaño y localizacion en donde apararecera al momento de correr el programa marco. panel1.addActionListener(this).addActionListener(this).setVisible(true). } private void crearGUI() { setDefaultCloseOperation(EXIT_ON_CLOSE). panel1.//creamos la interfaz y utilizamos un flowlayout para que se acomoden Container agregando ventana=getContentPane().setLayout(new FlowLayout()).add(detener1).// donde se ejecutaran las animaciones detener1=new JButton("Detener 1").//los botones y paneles como se vayan ventana.setBackground(Color.

200)). iniciar2=new JButton("iniciar 2").add(iniciar2).addActionListener(this). iniciar2.add(panel3).addActionListener(this). detener2=new JButton("Detener 2"). ventana. iniciar3. detener2. panel3.white). panel4.add(detener2). iniciar4=new JButton("iniciar 4").200)).add(detener3). panel3. ventana. ventana. panel3=new JPanel(). iniciar4.add(panel4). ventana. iniciar3=new JButton("iniciar 3").200)).setPreferredSize(new Dimension(200. detener3=new JButton("Detener 3"). panel4.setBackground(Color.addActionListener(this).setPreferredSize(new Dimension(200.addActionListener(this).panel2=new JPanel(). ventana. . detener3.add(iniciar4).white).setPreferredSize(new Dimension(200. ventana.add(panel2).setBackground(Color. ventana. panel2. panel4=new JPanel(). ventana.addActionListener(this). panel2.white).setBackground(Color.add(iniciar3).

add(detener4).addActionListener(this).start(). animacion4=new Tamaños(panel4).//al momento de ejecutar el programas aparescan las animaciones animacion1. } public void windowActivated(WindowEvent desencadenamos los eventos al e){ // en esta parte es donde animacion1=new arbol(panel1). } public void windowDeactivated(WindowEvent e){ // ponemos los demas metodos para que no nos marque error } public void windowClosed(WindowEvent e){ } public void windowClosing(WindowEvent e){ } public void windowIconified(WindowEvent e){ } public void windowDeiconified(WindowEvent e){ } public void windowOpened(WindowEvent e){ tambien asignando los .//como paneles en donde se ejecuran las animaciones animacion2. animacion4. animacion3=new Figuras(panel3). ventana. animacion2=new Semaforo(panel2).start().start(). detener4. animacion3.start().detener4=new JButton("Detener 4").

animacion3.getSource()==iniciar2) { animacion2=new Semaforo( panel2). } if (event.getSource()==iniciar1) { animacion1=new arbol(panel1).start().getSource()==detener2) { animacion2.detenerPorFavor(). } if (event.start(). animacion2.start().getSource()==iniciar3) { animacion3=new Figuras( panel3). } if (event. } if (event.getSource()==detener3) .} public void actionPerformed(ActionEvent event)//le damos la accion a los botones asi como tambien {// inciamos el thread con el metodo star y tambien los detemos if(event.getSource()==detener1) { animacion1.detenerPorFavor(). } if (event. animacion1.

*. private final int anchura=200.Random. .cambioY.// por que sa si podemos hacer los valores aleatorio private double diametro. } if (event.Color.{ animacion3. import java. private Random rd.cambioX. }if (event. } } } Import java. import javax.detenerPorFavor().start().getSource()==iniciar4) { animacion4=new Tamaños( panel4).*.detenerPorFavor().awt. animacion4.swing. private double x. //declaramos las variables doubles por el metodo ramdon lo necesita private double y.util.altura=200.awt. boolean seguirRebotando. public class Tamaños extends Thread{//importamos las libreria y hacemos las extencion private JPanel panel.getSource()==detener4) { animacion4. import java.

cambioY=rd. } public void run(){ // creamos el metodo runnable que nos servira para la ejecucion del thread seguirRebotando=true.panel=panel. } } public void mover(){ // en este metodo indicamos hacia que direccion de movera la pelota x=x+cambioX. y=rd.nextInt(12).nextInt(40).nextInt(11). eliminar(). y=y+cambioY. rebotar(). cambioX=rd. retrasar().nextInt(100).public Tamaños(JPanel panel){ rd=new Random(). // en la parte de arriba declaramos el random y a qui volvemos alas variables de valor this. } public aleatorios void rebotar(){ // en donde rebotara pero llevara valores // intercalamos los metodos que se if(x<=0|| x>=anchura) .//aleatorio y le damos un valor x=rd. while(seguirRebotando){ utilizaran mover(). diametro=rd. dibujar().nextInt(12).

papel4. } public void detenerPorFavor(){ //aqui matamos el thrad .(int)y. } catch(InterruptedException e){ return.// como la intencion es que cambie de tamaño cada vez // que la ocupemos por eso volvimos de valor aleatorio el diametro osea su tamaño } private void eliminar(){ // en este metodo eliminamos la figura Graphics papel4=panel.getGraphics().white).getGraphics(). if(y<=0||y>=altura) cambioY=-cambioY.fillOval((int)x.(int)y.cambioX=-cambioX. } } private void dibujar(){ //dibujamos la figura que utilizaremos Graphics papel4=panel.red).(int)diametro).setColor(Color.(int)diametro). } public void retrasar(){ //que tan rapido rebotara try{ Thread. papel4.sleep(100).fillOval((int)x.(int)diametro. papel4.setColor(Color.(int)diametro. papel4.

dibujar1(). import javax.Color.// en este programa haremos un pino con luces import java. dibujar2(). public class arbol extends Thread{ private JPanel panel.swing.awt.Random. dibujar5(). //hacemos lo mismo que en los demas lo declaramos booleno public arbol(JPanel panel){ this. } } import java. import java.*.*.panel=panel. //intercalamos los metodos para que haga el efecto de la luz que cambia de color .seguirRebotando=false. } public void run(){ arbol=true.awt. private boolean arbol. while(arbol){ dibujar().util.

dibujar7().dibujar3(). . } } private void dibujar(){// arrelos donde nos pide los angulos para dibujar el triangulo utilizamos un Graphics papel1=panel.sleep(100). eliminar().getGraphics(). } catch(InterruptedException e){ return. dibujar4(). } } public void retrasar(){ try{ Thread. dibujar6().

int [] vy1 = {0. 3).fillPolygon (vx2. papel1. 100}.drawPolygon (vx1.setColor(Color. } private void dibujar2(){ Graphics papel1=panel. vy2.50). papel1. 150. papel1. vy1.30.red). int [] vy2 = {0. 0}. int [] vx2 = {75.int [] vx1 = {75.setColor(Color. 150.fillRect(53.getGraphics(). papel1.fillOval(70.50.black).green). 0}. 100. 3). papel1. } .// que alumbran los foquitos papel1. 100.setColor(Color.getGraphics(). } private void dibujar1(){//aqui dibujamos un rectagulos que utilizaremos como tronco Graphics papel1=panel.10.100. 100}.// sobreescribimos para que nos de el efecto en diujar 1 y dos papel1.10).

private void dibujar3(){ Graphics papel1=panel.60.30. } private void dibujar5(){ Graphics papel1=panel. papel1.red).setColor(Color.blue).10.10.blue).10).getGraphics().fillOval(50.fillOval(70.60. .getGraphics().10.10). } private void dibujar4(){ Graphics papel1=panel. papel1.getGraphics(). papel1. } private void dibujar6(){ Graphics papel1=panel.red).setColor(Color. papel1.fillOval(90.setColor(Color.getGraphics(). papel1. papel1.10). papel1.setColor(Color.

awt. } } import java.10).fillOval(50.10.*. .60.swing.papel1.getGraphics(). } public void detenerPorFavor(){ arbol=false. papel1.getGraphics().fillOval(90.0).setColor(Color. papel1.10.setColor(Color. } private void eliminar(){ Graphics papel1=panel.Random.*.60.100. papel1.util.blue).fillOval(50.white). import java. papel1. import javax.0.10). } private void dibujar7(){ Graphics papel1=panel.

cambioX. public class Figuras extends Thread{ private JPanel panel.panel=panel.awt. private final int anchura=100.altura=100.cambioY. . quieto(). quieto(). private Random rd. perrod1(). private double x.import java.Color. public Figuras(JPanel panel){ this. boolean seguirRebotando. zorroe(). private double y. } public void run(){ seguirRebotando=true. while(seguirRebotando){ perrod().

setColor(Color.green).50). papel3. quieto().50.getGraphics().100. perrod2(). quieto().quieto().sleep(1000). } } public void quieto(){ try{ Thread. } catch(InterruptedException e){ return. quieto(). } .fillRect(100. zorroe1(). papel3. zorroe2(). } } private void perrod(){ Graphics papel3=panel.

} private void perrod2(){ Graphics papel3=panel.getGraphics().50). } private void zorroe(){ Graphics papel3=panel.fillRect(100.fillOval(100.100). } private void zorroe1(){ .50). papel3.100. papel3.blue).setColor(Color. papel3.50.50.private void perrod1(){ Graphics papel3=panel.fillRect(100.setColor(Color.50. papel3.getGraphics().white). papel3.100.100. papel3.setColor(Color.getGraphics().yellow).

50.repaint(). public class Semaforo extends Thread{ //declaramos la clase y una extencion del thread// private JPanel panel.Graphics papel3=panel.50.awt.setColor(Color. } private void zorroe2(){ Graphics papel3=panel. papel3.100).util. } } import java.fillOval(100.Random.swing.white). papel3.white).*.getGraphics(). panel.//declaramos todas las librerias que se van a ocupar// import javax. } public void detenerPorFavor(){ seguirRebotando=false. papel3.100.awt. import java.50). import java.100.*.setColor(Color.getGraphics().Color. //declaramos dos variables que es panel y semaforo como boleano// . papel3.fillRect(100.

while(semaforo){// creamos los metodos que se ocparan para que haga el efecto de cambio de color intercalando los //los metodos dibujar().panel=panel. . detente2().jamon chorizo dibujar1(). eliminar().calmate y detente queso(). chorizo(). quieto1(). dibujar3(). como tambien queso. calmate3(). dibujar2(). public Semaforo(JPanel panel){ this.boolean semaforo.//este metodo es en donde mandamos los dibujos al igual los que dicen dibujo. } public void run(){ // en el run es para que se haga la implementacion para que el thread funciones semaforo=true.// es el que elimana o mata al thread como quieto1. jamon(). quieto().

} } public void detente2(){ try{ Thread. } catch(InterruptedException e){ return.sleep(50). . } } public void quieto1(){ try{ Thread. } catch(InterruptedException e){ return.} } public void quieto(){ try{ Thread.sleep(1000).sleep(500).

20).} catch(InterruptedException e){ return.black). } .sleep(1500). papel2. papel2. } } public void calmate3(){ try{ Thread.50.blue).fillOval(90. } private void dibujar1(){ Graphics papel2=panel. } } private void dibujar(){ Graphics papel2=panel. papel2. } catch(InterruptedException e){ return.100). papel2.60.setColor(Color.getGraphics().50.fillRect(75.20.getGraphics().setColor(Color.

papel2. papel2.20). } private void jamon(){ Graphics papel2=panel. papel2.20.setColor(Color. papel2.green).setColor(Color.fillOval(90. papel2.setColor(Color.black).20.120.black). } private void dibujar2(){ Graphics papel2=panel.90. } .20.getGraphics(). papel2.20). papel2.20). papel2.fillOval(90.setColor(Color.20).setColor(Color. } private void chorizo(){ Graphics papel2=panel.120.fillOval(90.fillOval(90.getGraphics().60. } private void dibujar3(){ Graphics papel2=panel.20.90.20).getGraphics().yellow).getGraphics().fillOval(90. papel2.red).getGraphics().20. papel2.private void queso(){ Graphics papel2=panel.

100).50. papel2. } } .50. papel2.getGraphics(). } public void detenerPorFavor(){ semaforo=false.fillRect(75.white).private void eliminar(){ Graphics papel2=panel.setColor(Color.