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

Uso de clase Component

Ir abajo

Uso de clase Component Empty Uso de clase Component

Mensaje  Admin (Viruz) Mar Oct 09, 2012 8:32 pm

La clase Component es la superclase abstracta de los componentes relacionados con Abstract Window Toolkit. Componente Class también se puede extender directamente para crear un componente de peso ligero. Un componente de peso ligero es un componente que no está asociado con una ventana nativa.
Hola amigos de Viruz Blog pasando a el tema principal otra vez trayéndoles aquí para ustedes un programa en java para el manejo de eventos, en esta ocasión les traigo el evento de ComponentEvent, este evento es el encargado de encapsular todos los componentes,objetos o figuras que se crean en java.

En este caso es una figura de un carrito que se realizó mediante el método paint() (se que no soy muy dibujante pero el esfuerzo se hace) donde la idea principal es ir ajustando los componentes dibujados al tamaño de la ventana.
Imagen
[Tienes que estar registrado y conectado para ver este vínculo]
Lo que se necesita conocer

  • ComponentListener
  • Clase Component
¿Como funciona el Programa?

  1. Crea una clase que herede de una ventana (JFrame) e implemente un oyente para el evento "ComponentEvent" (ComponentListener).
  2. Se establecen todos los métodos abstractos de la interfaz que se ha implementado.
  3. Solo se ocupará el método componentResized(), que es el encargado de ajustar la imagen de un componente, los demás no los utilizaremos ya que tienen diferentes funciones a las que ocupamos para este ejercicio.
  4. Creamos una variable de tipo Component llamada c y le otorgamos el valor del método getComponent() y obtenemos la altura y ancho con el método getSize().
  5. Por último mandamos a llamar al método repaint() para ajustar el dibujo conforme se extienda o contraiga la ventana.
Código

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

Clase Carrito

01 /**
02 *
03 * @author Viruz
04 */
05
06 import java.awt.Color;
07 import java.awt.Component;
08 import java.awt.Font;
09 import java.awt.Graphics;
10 import java.awt.event.ComponentEvent;
11 import java.awt.event.ComponentListener;
12 import javax.swing.JFrame;
13 public class Carrito extends JFrame implements ComponentListener{
14 private int x ;
15 private int y;
16
17 public Carrito(){
18 super ("Viruz Blog: Carrito con ComponentEvent");
19 setSize(700,500);
20 addComponentListener(this);
21 setLayout(null);
22 //Color color = new Color(253,149,241);
23 setBackground(Color.GREEN);
24 setVisible(true);
25 setLocationRelativeTo(null);
26 }
27
28 public void componentResized(ComponentEvent e){
29 Component c = e.getComponent();
30 x=c.getSize().width;
31 y=c.getSize().height;
32 repaint();
33 }
34
35 @Override
36 public void paint(Graphics g){
37 //g.clearRect limpia todos los dibujos para asignar nuevas coordenadas.
38 g.clearRect(0, 0, x, y);
39
40 Font f1 = new Font("Arial",Font.ITALIC,x/20);
41 g.setFont(f1);
42 g.drawString("Viruz Movil",300*x/700,130*y/500);
43
44 g.setColor(new Color(62,205,234));//cuadro de arriba
45 g.fillRect(350*x/700,200*y/500,100*x/700,50*y/500);
46 g.setColor(new Color(73,245,139));;//cuadro esquina izquierda
47 g.fillRect(500*x/700,200*y/500,50*x/700,50*y/500);
48 g.setColor(new Color(252,248,70));//ovalo entre los dos cuadros
49 g.fillOval(450*x/700,200*y/500,50*x/700,100*y/500);
50 g.setColor(Color.BLACK);//parabirsas
51 g.drawLine(350*x/700,200*y/500,200*x/700,300*y/500);
52 g.setColor(new Color(62,205,234));//rectangulo
53 g.fillRect(150*x/700,250*y/500,400*x/700,50*y/500);
54 g.setColor(Color.BLACK);//llanta izquierda
55 g.fillOval(210*x/700,270*y/500,60*x/700,60*y/500);
56 g.setColor(Color.WHITE);//llanta pequena izquierda
57 g.fillOval(220*x/700,280*y/500,40*x/700,40*y/500);
58 g.setColor(Color.BLACK);//llanta derecha
59 g.fillOval(450*x/700,270*y/500,60*x/700,60*y/500);
60 g.setColor(Color.WHITE);//lanta pequena derecha
61 g.fillOval(460*x/700,280*y/500,40*x/700,40*y/500);
62 g.setColor(Color.BLACK);//contorno llanta izquierda
63 g.drawArc(200*x/700,261*y/500,75*x/700,75*y/500,0,180);
64 g.setColor(Color.BLACK);//contorno llanta derecha
65 g.drawArc(443*x/700,261*y/500,75*x/700,75*y/500,0,180);
66 g.setColor(Color.BLACK);//volante exterior
67 g.fillArc(305*x/700,225*y/500,20*x/700,50*y/500,0,180);
68 g.setColor(Color.WHITE);//volante interior
69 g.fillArc(310*x/700,230*y/500,10*x/700,40*y/500,0,180);
70 }
71
72 public void componentMoved(ComponentEvent e) {
73 }
74
75 public void componentShown(ComponentEvent e) {
76 }
77
78 public void componentHidden(ComponentEvent e) {
79 }
80 }


Descarga el Código
Uso de clase Component
Autor: Viruz study
Enlace: Clase Component
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

- Temas similares

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