Uso de clase Component
Viruz Blog :: Programación en General :: Java :: Básicos
Página 1 de 1.
Uso de clase Component
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.
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]
[Tienes que estar registrado y conectado para ver este vínculo]
Lo que se necesita conocer
- ComponentListener
- Clase Component
- Crea una clase que herede de una ventana (JFrame) e implemente un oyente para el evento "ComponentEvent" (ComponentListener).
- Se establecen todos los métodos abstractos de la interfaz que se ha implementado.
- 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.
- 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().
- Por último mandamos a llamar al método repaint() para ajustar el dibujo conforme se extienda o contraiga la ventana.
Código
Clase Main
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 Uso de clase Component
Enlace: Clase Component
Temas similares
» Uso de clase Scanner
» Uso de clase InetAddress
» Uso de clase Thread parte 1
» Uso de clase Thread parte 2
» Uso de clase AudioClip, Image e ImageIcon
» Uso de clase InetAddress
» Uso de clase Thread parte 1
» Uso de clase Thread parte 2
» Uso de clase AudioClip, Image e ImageIcon
Viruz Blog :: Programación en General :: Java :: Básicos
Página 1 de 1.
Permisos de este foro:
No puedes responder a temas en este foro.