Sunteți pe pagina 1din 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

CODIGO DOCUMENTADO.
import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.awt.Color; import javax.swing.JButton; import java.util.Random; import java.awt.event.WindowEvent; public class ANIMACIONES extends JFrame implements ActionListener,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,iniciar2,detener1,detener2,iniciar3,iniciar4,detener3,detener4; private JPanel panel1,panel2,panel3,panel4; private arbol animacion1; // declaramos las variables que utilizaremos para llamar a los objetos como tambien private Semaforo animacion2;//las variables que utilizaremos para la creacion de los botones private Figuras animacion3; private Tamaos animacion4;

public static void main(String[]args) {

ANIMACIONES ejecutara

marco=new ANIMACIONES();//creamos

el

main

la

ventana

que

se

marco.setSize(800,600);

marco.crearGUI();//asignandole tamao y localizacion en donde apararecera al momento de correr el programa marco.setVisible(true); marco.setLocation(350,90); } private void crearGUI() { setDefaultCloseOperation(EXIT_ON_CLOSE);//creamos la interfaz y utilizamos un flowlayout para que se acomoden Container agregando ventana=getContentPane();//los botones y paneles como se vayan

ventana.setLayout(new FlowLayout()); addWindowListener(this);

iniciar1=new JButton("iniciar 1");//en este apartado creamos los botones y los paneles ventana.add(iniciar1); iniciar1.addActionListener(this);// donde se ejecutaran las animaciones

detener1=new JButton("Detener 1"); ventana.add(detener1); detener1.addActionListener(this);

panel1=new JPanel(); panel1.setPreferredSize(new Dimension(200,200)); panel1.setBackground(Color.white); ventana.add(panel1);

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

detener4=new JButton("Detener 4"); ventana.add(detener4); detener4.addActionListener(this); } public void windowActivated(WindowEvent desencadenamos los eventos al e){ // en esta parte es donde

animacion1=new arbol(panel1);//al momento de ejecutar el programas aparescan las animaciones animacion1.start(); animacion2=new Semaforo(panel2);//como paneles en donde se ejecuran las animaciones animacion2.start(); animacion3=new Figuras(panel3); animacion3.start(); animacion4=new Tamaos(panel4); animacion4.start(); } 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

} 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()==iniciar1) { animacion1=new arbol(panel1); animacion1.start(); } if (event.getSource()==iniciar2) { animacion2=new Semaforo( panel2); animacion2.start(); } if (event.getSource()==detener1) { animacion1.detenerPorFavor(); } if (event.getSource()==detener2) { animacion2.detenerPorFavor(); } if (event.getSource()==iniciar3) { animacion3=new Figuras( panel3); animacion3.start(); } if (event.getSource()==detener3)

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

private final int anchura=200,altura=200; boolean seguirRebotando; private Random rd;

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

if(x<=0|| x>=anchura)

cambioX=-cambioX; if(y<=0||y>=altura) cambioY=-cambioY; } public void retrasar(){ //que tan rapido rebotara try{ Thread.sleep(100); } catch(InterruptedException e){ return; } }

private void dibujar(){ //dibujamos la figura que utilizaremos

Graphics papel4=panel.getGraphics(); papel4.setColor(Color.red); papel4.fillOval((int)x,(int)y,(int)diametro,(int)diametro);// como la intencion es que cambie de tamao cada vez // que la ocupemos por eso volvimos de valor aleatorio el diametro osea su tamao } private void eliminar(){ // en este metodo eliminamos la figura Graphics papel4=panel.getGraphics(); papel4.setColor(Color.white); papel4.fillOval((int)x,(int)y,(int)diametro,(int)diametro); } public void detenerPorFavor(){ //aqui matamos el thrad

seguirRebotando=false; } } import java.awt.*; import javax.swing.*;// en este programa haremos un pino con luces import java.util.Random; import java.awt.Color; public class arbol extends Thread{

private JPanel panel; private boolean arbol; //hacemos lo mismo que en los demas lo declaramos booleno

public arbol(JPanel panel){

this.panel=panel; } public void run(){

arbol=true; while(arbol){ dibujar(); dibujar1();

dibujar2();

dibujar5(); //intercalamos los metodos para que haga el efecto de la luz que cambia de color

dibujar3();

dibujar6();

dibujar4(); dibujar7();

eliminar(); } }

public void retrasar(){ try{ Thread.sleep(100); } catch(InterruptedException e){ return; } }

private void dibujar(){// arrelos donde nos pide los angulos

para

dibujar

el

triangulo

utilizamos

un

Graphics papel1=panel.getGraphics();

int [] vx1 = {75, 150, 0}; int [] vy1 = {0, 100, 100}; papel1.drawPolygon (vx1, vy1, 3); papel1.setColor(Color.green); int [] vx2 = {75, 150, 0}; int [] vy2 = {0, 100, 100}; papel1.fillPolygon (vx2, vy2, 3);

private void dibujar1(){//aqui dibujamos un rectagulos que utilizaremos como tronco

Graphics papel1=panel.getGraphics(); papel1.setColor(Color.black); papel1.fillRect(53,100,50,50);

private void dibujar2(){

Graphics papel1=panel.getGraphics();// sobreescribimos para que nos de el efecto

en

diujar

dos

papel1.setColor(Color.red);// que alumbran los foquitos papel1.fillOval(70,30,10,10);

private void dibujar3(){

Graphics papel1=panel.getGraphics(); papel1.setColor(Color.red); papel1.fillOval(50,60,10,10);

} private void dibujar4(){

Graphics papel1=panel.getGraphics(); papel1.setColor(Color.red); papel1.fillOval(90,60,10,10);

private void dibujar5(){

Graphics papel1=panel.getGraphics(); papel1.setColor(Color.blue); papel1.fillOval(70,30,10,10);

private void dibujar6(){

Graphics papel1=panel.getGraphics(); papel1.setColor(Color.blue);

papel1.fillOval(50,60,10,10);

} private void dibujar7(){

Graphics papel1=panel.getGraphics(); papel1.setColor(Color.blue); papel1.fillOval(90,60,10,10);

private void eliminar(){

Graphics papel1=panel.getGraphics(); papel1.setColor(Color.white); papel1.fillOval(50,100,0,0);

} public void detenerPorFavor(){

arbol=false; } }

import java.awt.*; import javax.swing.*; import java.util.Random;

import java.awt.Color; public class Figuras extends Thread{

private JPanel panel; private double x,cambioX; private double y,cambioY; private final int anchura=100,altura=100; boolean seguirRebotando; private Random rd;

public Figuras(JPanel panel){

this.panel=panel;

} public void run(){

seguirRebotando=true; while(seguirRebotando){

perrod(); quieto(); zorroe(); quieto(); perrod1();

quieto(); zorroe1(); quieto(); perrod2(); quieto(); zorroe2(); quieto();

} }

public void quieto(){ try{ Thread.sleep(1000); } catch(InterruptedException e){ return; } }

private void perrod(){

Graphics papel3=panel.getGraphics(); papel3.setColor(Color.green); papel3.fillRect(100,100,50,50);

private void perrod1(){

Graphics papel3=panel.getGraphics(); papel3.setColor(Color.blue); papel3.fillOval(100,100,50,50); } private void perrod2(){

Graphics papel3=panel.getGraphics(); papel3.setColor(Color.yellow); papel3.fillRect(100,100,50,100);

private void zorroe(){

Graphics papel3=panel.getGraphics(); papel3.setColor(Color.white); papel3.fillRect(100,100,50,50);

private void zorroe1(){

Graphics papel3=panel.getGraphics(); papel3.setColor(Color.white); papel3.fillOval(100,100,50,50); }

private void zorroe2(){

Graphics papel3=panel.getGraphics(); papel3.setColor(Color.white); papel3.fillRect(100,100,50,100); }

public void detenerPorFavor(){

seguirRebotando=false; panel.repaint(); } }

import java.awt.*;//declaramos todas las librerias que se van a ocupar// import javax.swing.*; import java.util.Random; import java.awt.Color; public class Semaforo extends Thread{ //declaramos la clase y una extencion del thread//

private JPanel panel; //declaramos dos variables que es panel y semaforo como boleano//

boolean semaforo;

public Semaforo(JPanel panel){ this.panel=panel;

} public void run(){ // en el run es para que se haga la implementacion para que el thread funciones

semaforo=true; while(semaforo){// creamos los metodos que se ocparan para que haga el efecto de cambio de color intercalando los //los metodos dibujar();//este metodo es en donde mandamos los dibujos al igual los que dicen dibujo, como tambien queso,jamon chorizo dibujar1(); dibujar2(); dibujar3(); quieto();// es el que elimana o mata al thread como quieto1,calmate y detente queso(); quieto1(); jamon(); detente2(); chorizo(); calmate3(); eliminar();

} }

public void quieto(){ try{ Thread.sleep(50); } catch(InterruptedException e){ return; } }

public void quieto1(){ try{ Thread.sleep(500); } catch(InterruptedException e){ return; } }

public void detente2(){ try{ Thread.sleep(1000);

} catch(InterruptedException e){ return; } } public void calmate3(){ try{ Thread.sleep(1500); } catch(InterruptedException e){ return; } }

private void dibujar(){

Graphics papel2=panel.getGraphics(); papel2.setColor(Color.blue); papel2.fillRect(75,50,50,100);

} private void dibujar1(){ Graphics papel2=panel.getGraphics(); papel2.setColor(Color.black); papel2.fillOval(90,60,20,20); }

private void queso(){ Graphics papel2=panel.getGraphics(); papel2.setColor(Color.red); papel2.fillOval(90,60,20,20); }

private void dibujar2(){ Graphics papel2=panel.getGraphics(); papel2.setColor(Color.black); papel2.fillOval(90,90,20,20); } private void jamon(){ Graphics papel2=panel.getGraphics(); papel2.setColor(Color.yellow); papel2.fillOval(90,90,20,20); }

private void dibujar3(){ Graphics papel2=panel.getGraphics(); papel2.setColor(Color.black); papel2.fillOval(90,120,20,20);

} private void chorizo(){ Graphics papel2=panel.getGraphics(); papel2.setColor(Color.green); papel2.fillOval(90,120,20,20); }

private void eliminar(){

Graphics papel2=panel.getGraphics(); papel2.setColor(Color.white); papel2.fillRect(75,50,50,100); } public void detenerPorFavor(){

semaforo=false; } }

S-ar putea să vă placă și