Viruz Blog
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Múltiple cara con eventos

Ir abajo

Múltiple cara con eventos Empty Múltiple cara con eventos

Mensaje  Admin (Viruz) Lun Oct 08, 2012 3:20 pm

Amigos de Viruz Blog les traigo uno de mis primeros programas en Java en mi transcurso escolar se trata de el uso de eventos en java en este programa uso eventos de botón y de ventana donde al dar clic en el componente JButton haremos que cambie la boca de nuestra cara dibujada en el panel.
Imágenes
[Tienes que estar registrado y conectado para ver este vínculo]

¿Como funciona el Programa?

  1. Corre el programa ya sea en NetBeans o con el .jar.
  2. Al iniciar el programa aparecerá nuestra ventana con su respectivo panel el cual dentro del método paint() y los métodos fillOval() y setColor() (dibujo de círculos y asignación de color respectivamente).
  3. Nuestros 2 botones de la parte superior nos harán el cambio de evento para ello se le han asignado oyentes a una clase interna en el cual implementamos el oyente con sus respectivo método actionPerformed().
Código

Clase Main
01 /**
02 *
03 * @author ViRuZ
04 */
05 public class Main {
06 public static void main (String [] args){
07 new EventoCarita();
08 }
09 }

Clase EventoCarita

01 import java.awt.*;
02 import java.awt.event.ActionEvent;
03 import java.awt.event.ActionListener;
04 import java.awt.event.WindowAdapter;
05 import java.awt.event.WindowEvent;
06
07 public class EventoCarita extends Frame {
08 private int tipoCara = 1;
09
10 public EventoCarita(){
11 super("Viruz Blog: Caritas con Eventos");
12 setSize(300,300);
13 setBackground(Color.cyan);
14 setLayout(new FlowLayout());
15 addComponentes();
16 setVisible(true);
17 setLocationRelativeTo(null);
18 }
19
20 private void addComponentes(){
21 //boton1 y 2 son objetos de origen de eventos
22 Button boton1= new Button("Carita Feliz");
23 Button boton2= new Button("Carita Triste");
24 //aBoton1 y 2 son objetos oyentes de eventos
25 AccionBoton aBoton1 = new AccionBoton(1);
26 AccionBoton aBoton2 = new AccionBoton(2);
27 //Registro de Oyentes
28 boton1.addActionListener(aBoton1);
29 boton2.addActionListener(aBoton2);
30 //Usando clases internas Anonimas
31 addWindowListener(new WindowAdapter(){
32 @Override
33 public void windowClosing (WindowEvent e){
34 System.exit(0);
35 }
36 });
37 add(boton1);
38 add(boton2);
39
40 }
41
42 @Override
43 public void paint(Graphics g){
44 if(tipoCara!=0){
45 g.setColor(Color.YELLOW);
46 g.fillOval(40, 60, 200, 200);
47 g.setColor(Color.BLACK);
48 g.fillOval(90, 120, 20, 20);
49 g.fillOval(180-10, 130-10, 20, 20);
50 g.setColor(Color.RED);
51
52 if(tipoCara==1)
53 g.drawArc(80, 100, 120, 120, 180, 180);
54 //x ,y ,largo,ancho,angulo inicial, angulo final
55 else
56 g.drawArc(80, 160, 120, 120, 0, 180);
57
58 }
59
60 }
61
62 class AccionBoton implements ActionListener{
63 private int valor;
64
65 public AccionBoton(int valor){
66 this.valor = valor;
67 }
68 public void actionPerformed(ActionEvent e){
69 tipoCara = valor;
70 repaint();
71 }
72 }
73 //Una clase adaptadora nos ahorra poner todos los metodos de WindowListener
74 }


Descarga el Código
Caras con eventos
Autor: Viruz study
Enlace: Caritas con eventos
Admin (Viruz)
Admin (Viruz)
Admin

Mensajes : 148
Fecha de inscripción : 23/09/2012
Edad : 35
Localización : Desktop

https://viruz.foroactivo.mx

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.