Documente Academic
Documente Profesional
Documente Cultură
CARRERA
DOCENTE
4 A ISC
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;
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
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
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;
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; } }
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
dibujar2();
dibujar5(); //intercalamos los metodos para que haga el efecto de la luz que cambia de color
dibujar3();
dibujar6();
dibujar4(); dibujar7();
eliminar(); } }
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);
en
diujar
dos
papel1.fillOval(50,60,10,10);
arbol=false; } }
private JPanel panel; private double x,cambioX; private double y,cambioY; private final int anchura=100,altura=100; boolean seguirRebotando; private Random rd;
this.panel=panel;
seguirRebotando=true; while(seguirRebotando){
} }
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 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();
} }
} catch(InterruptedException e){ return; } } public void calmate3(){ try{ Thread.sleep(1500); } catch(InterruptedException e){ return; } }
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); }
semaforo=false; } }