Introducción
El término Gráficos de Computadora evoca una variedad de posibilidades. Podríamos estar hablando de una película de Hollywood generada por computadora, de una fotografía estática o de una imagen más simple, construida a partir de líneas. En este capitulo nos limitaremos a las imágenes estáticas a partir de formas simples, y nos enfocaremos en el uso de métodos de biblioteca para crearlas. También introduciremos el uso de un botón para permitir la interacción del usuario
Eventos
Muchos programas se crean de cierta forma para permitir la interacción del usuario mediante GUI (Interfaz Gráfica de Usuario). Dichos programas proveen botones, campos de texto, barras de desplazamiento, etc. En términos de Java, cuando un usuario maneja el ratón y el teclado "crea" eventos a los que el programa responde. Algunos eventos comunes son:
- El clic del ratón
- Oprimir una tecla
- El uso de un control deslizable por ciertos valores.
El sistema de Java clasifica los eventos en varias categorías. Por ejemplo, desplazarse por una página se considera un evento de "cambio", mientras que dar clic con el ratón se considera un evento de "acción".
Al escribir un programa de Java, debe asegurarse de que el programa detecte los eventos; de lo contrario no ocurrirá nada. La transmisión de un evento (como un clic del ratón) a un programa no se lleva a cabo en forma automática; debemos configurar el programa para que "detecte" los tipos de eventos. Por fortuna el código para ello es estándar y lo podemos realizar en todos los programas, en vez de tener que crearlo de nuevo para cada programa. Al proceso de responder a un evento se le conoce como "manejar" el evento. Pero vamos a pasar a lo que nos interesa y nos gusta que es el ejemplo:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class EjemploDibujo extends JFrame implements ActionListener{
private JButton boton;
private JPanel panel;
private static Dimension dimension = new Dimension (300,300);
public static void main(String[] args) {
EjemploDibujo marco = new EjemploDibujo();
marco.setSize(400,400);
marco.createGUI();
marco.setVisible(true);
}
private void createGUI()
{
setDefaultCloseOperation(EXIT_ON_CLOSE);
Container ventana = getContentPane();
ventana.setLayout(new FlowLayout());
panel = new JPanel();
panel.setPreferredSize(dimension);
panel.setBackground(Color.white);
ventana.add(panel);
boton = new JButton("Haz clic");
ventana.add(boton);
boton.addActionListener(this);
}
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
Graphics papel = panel.getGraphics();
papel.drawLine(0, 0, 100, 100);
}
}
El usuario hace clic en el botón y se dibuja una linea diagonal. Vamos a ver la instrucción que hace eso:
papel.drawLine(0,0,100,100);
Como es de esperarse esta instrucción es la que dibuja la línea. El resto del código configura la GUI, y hablaremos de él solo en términos generales. Para configurar la GUI se requiere:
- Agregar un botón a la ventana
- Agregar un "panel" que utilizaremos para dibujar
- Preparar el programa para que detecte los clics del ratón (clasificados como eventos de acción)
El evento de clic de botón
El principal evento en este programa se genera cuando el usuario hace clic en el botón "Haz clic". Un clic del botón hace que el programa ejecute esta sección del programa
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
Graphics papel = panel.getGraphics();
papel.drawLine(0, 0, 100, 100);
}
La línea 1 introduce la sección del programa que se ejecuta al hacer clic en el botón. Es un método. Cualquier instrucción que coloquemos entre el caracter { y el caracter } de la línea 4 se ejecutará en secuencia, descendiendo por la página.
La línea 2 provee una área en blanco para dibujar.
El método DrawLine es uno de los diversos métodos que proporciona el sistema Java en una biblioteca, es evidente que sirve para dibujar. Al utilizar esté método tenemos que suministrarle valores para los puntos inicial y final de la línea; además necesitaremos hacerlo en el orden correcto.
- El valor horizontal (x) del inicio de la línea
- El valor vertical (y) del inicio de la línea
- El valor horizontal del final de la línea
- El valor vertical del final de la línea
Bueno amigos, esto es todo por el día de hoy, pronto les traeré la segunda parte de éste capitulo.
Recuerden dar un +1 o ver algún anuncio que les interese. Hasta la próxima
No hay comentarios.:
Publicar un comentario