MÉTODOS DEL APPLETVIEWER:
init() Se llama
cuando el appletviewer carga por primera
vez la clase.
También
se usa para cargas de imágenes y sonidos.
Indica si hay Sobrecarga.
start() Inicia (arrancar) el applet.
stop() Detiene la ejecución
del applet.
destroy() Se llama cuando ya
no se va a utilizar más el applet y se debe destruir.
paint(Graphics
g) Función para refrescar y después
utilizar el área de dibujo.
update(Graphics
g) Se llama cuando se
necesita una actualización de la pantalla.
IMÁGENES EN JAVA
LOS APPLET O PROGRAMAS EN JAVA CARGAN
USUALMENTE IMÁGENES DE TIPO JPG (JOINT PHOTOGRAPHIC GROUP) Y GIF (GRAPHIC
INTERCHANGE FORMAT) SON ARCHIVOS MÁS PEQUEÑOS Y TIENEN EXTENSIÓN .jpg y .gif.
PARA USAR EN JAVA ARCHIVOS CON IMÁGENES SE
DEBE DECLARAR UN OBJETO DE TIPO Image.
SE UTILIZA LA CLASE Image DE LA
LIBRERÍA AWT. ESTA ES UNA CLASE ABSTRACTA Y NO SE PUEDEN CREAR INSTANCIAS DE
ELLA.
PASOS:
1.
PRIMERO DE DECLARA EL OBJETO DE TIPO Image:
Image mi_imagen; DECLARAMOS UN OBJETO mi_imagen DE TIPO Image.
2.
USAMOS EL MÉTODO getImage(); PARA RELACIONAR LOS OBJETOS DE TIPO Image CON EL
APPLET O EL PROGRAMA.
mi_imagen = getImage
(getCodeBase(),String NombreArchivo.jpg o .gif);
DE ESTE MODO getImage(); PONE A DISPOSICIÓN DEL PROGRAMA EL OBJETO EN ESTE CASO mi_imagen Y MUESTRA LA RUTA HACIA ÉL.
getCodeBase() MUESTRA LA DIRECCIÓN
URL (UNIQUE RESOURCE LOCATOR LOCALIZADOR UNIVERSAL DE RECURSOS) DONDE SE
ENCUENTRA EL APPLET, POR EJEMPLO: www.nuestrositio.com.mx.
3.
PARA MOSTRAR LA IMAGEN USAMOS EL MÉTODO drawImage();
DE LA CLASE Graphics() DENTRO DEL
MÉTODO paint() o update().
g.drawImage(mi_imagen,int
x, int y, this);
Referencia
Pantalla
mi_imagen. ES EL OBJETO Image
x,y SON LAS COORDENADAS
(EN PIXELES) QUE DEFINEN EL PUNTO EN LA PANTALLA DE DONDE SE VA A MOSTRAR LA IMAGEN.
this ES UN CONTROLADOR DE
ImageObserver Y RELACIONA EL OBJETO ACTIVO, EN
ESTE CASO mi_imagen CON EL
PROGRAMA.
SI LA IMAGEN ES MÁS GRANDE QUE LA VENTANA DEL
APPLET, SERÁ CORTADA.
SI ES MÁS PEQUEÑA OCUPARÁ UNA PARTE DE LA
VENTANA DEL APPLET.
CAMBIAR EL TAMAÑO O EL FONDO DE UNA IMAGEN
Para determinar las dimensiones de una imagen
(hacerla más grande o más pequeña) se usan los siguientes argumentos en el
método drawImage():
drawImage(mi_imagen,
int x, int y, int width, int height, this);
Donde int
width e int height son el ancho
y el alto de la imagen.
Para cambiar el fondo de la imagen podemos
escribir en la clase paint antes del método g.drawImage(); por ejemplo:
setBackground(Color.yellow);
De esta manera vamos a especificar el fondo
en color amarillo o cualquier otro color.
COLORES EN JAVA
|
black
|
Negro
|
blue
|
Azul
|
cyan
|
Matiz
|
gray
|
Gris
|
yellow
|
Amarillo
|
green
|
Verde
|
orange
|
Naranja
|
magenta
|
Magenta
|
red
|
Rojo
|
pink
|
Rosa
|
lightGray
|
Gris claro
|
white
|
Blanco
|
darkGray
|
Gris oscuro
|
|
|
Nota Importante:
El archivo de la imagen deberá estar en la misma carpeta del proyecto
(nombre_archivo.jpg).
//
APPLET PARA MOSTRAR IMAGEN
//
IMPORTAR CLASES
import java.awt.*;
import java.applet.*;
public class Foto
extends Applet {
Image imagen1;
public void init()
{
imagen1 =
getImage(getCodeBase(), "calacas.jpg");
}
public void paint(Graphics g){
setBackground(Color.yellow);
g.drawImage(imagen1,0,0,300,300,
this);
}
}
LÍNEAS & FIGURAS
GEOMÉTRICAS EN JAVA
Pantalla
g.drawRect(int x, int
y, int ancho, int alto);
DIBUJA UN
RECTÁNGULO CON CENTRO CON COORDENADAS (X,Y) Y DEFINIDO ANCHO Y ALTO.
g.fillRect(int x, int
y, int ancho, int alto);
RELLENA UN
RECTÁNGULO CON CENTRO CON COORDENADAS (X,Y) Y DEFINIDO ANCHO Y ALTO.
g.draw3DRect(int x,
int y, int ancho, int alto, booleano);
DIBUJA UN
RECTÁNGULO TRIDIMENSIONAL.
g.fillRoundRect(int
x, int y, int ancho, int alto, int radioHorizontal, int radioVertical);
DIBUJA UN
RECTÁNGULO REDONDEADO.
g.drawLine(int x1,
int y1, int x2, int y2);
DIBUJA
LÍNEAS (2) DE UN PUNTO CON COORDENADAS (X1,Y1) HASTA OTRO PUNTO CON COORDENADAS
(X2,Y2).
g.drawArc(int x, int y, int ancho, int alto,
int ánguloInicial, int ángulodelArco);
DIBUJA UN
ARCO.
g.drawOval(int x, int
y, int ancho, int alto);
DIBUJA UNA
ELIPSE CON CENTRO CON COORDENADAS (X,Y) Y DEFINIDO ANCHO Y ALTO.
g.fillOval(int x, int
y, int ancho, int alto);
DIBUJA UNA
ELIPSE CON RELLENO.
APPLET DE LÍNEAS Y FIGURAS
//
IMPORTAR CLASES
import java.awt.*;
import java.applet.*;
//CLASE EXTENDIDA A APPLET
public class figuras extends Applet {
// FUNCIÓN PARA REFRESCAR (LIBERAR - PREPARAR) Y DESPUÉS
// UTILIZAR EL ÁREA DE DIBUJO
public void paint
(Graphics g) {
g.setColor (Color.red);
g.drawRect(80,
10, 30, 30);
g.setColor
(Color.blue);
g.fillRect(20,
20, 40, 40);
g.setColor
(Color.green);
g.fillRect(60,
60, 150, 150);
g.setColor
(Color.gray);
g.draw3DRect(210,
5, 60, 60, true);
g.setColor
(Color.yellow);
g.fillRoundRect(250,
125, 200, 150, 30, 30);
g.setColor
(Color.black);
g.drawLine(80,
45, 100, 100);
g.drawLine(5,
5, 100, 120);
g.drawArc(280,
30, 50, 50, 30, 180);
g.drawOval(160,
100, 70, 70);
g.setColor
(Color.red);
g.fillOval(280,
200, 40, 40);
}
}
UN POLÍGONO JUNTA DIFERENTES PUNTOS CERRANDO LOS ÚLTIMOS
DOS PUNTO. PARA ESTABLECER LOS PUNTOS, TODAS LAS COORDENADAS DE X DEL POLÍGONO
SON FORMADAS EN UN ARREGLO DE NÚMEROS ENTEROS Y TODAS LAS COORDENADAS DE Y SON
INSERTADAS ENTONCES EN OTRO ARREGLO, EN EL MISMO ORDEN.
SE USAN LOS MÉTODOS
drawPolygon(), PARA DIBUJAR EL CONTORNO Y fillPolygon(), PARA RELLENAR
EL POLÍGONO CON LOS ARREGLOS Y EL NÚMERO DE PUNTOS COMO ARGUMENTOS.
AQUÍ VA
PROGRAMA
OTROS MÉTODOS
EL MÉTODO setBounds ESTABLECE LA POSICIÓN INICIAL DE LA VENTANA EN LA
PANTALLA Y SUS DIMENSIONES.
http://www.forosdelweb.com/f45/dudas-con-interfaz-grafica-swing-745797/
objeto.setBounds(x,y,ancho,alto);
textArea1.setBounds(25,50,300,25);
UN EVENTO
CONSTITUYE UN MÉTODO PARA QUE UNA CLASE NOTIFIQUE A LOS USUARIOS DE UN OBJETO
QUE ALGO INTERESANTE SUCEDE AL OBJETO, COMO, POR EJEMPLO, QUE SE HA HECHO CLIC
EN UN CONTROL DE UNA INTERFAZ GRÁFICA DE USUARIO. ESTA NOTIFICACIÓN SE DENOMINA
PROVOCAR UN EVENTO. EL OBJETO QUE PROVOCA UN EVENTO SE CONOCE COMO EL ORIGEN O
REMITENTE DEL EVENTO.
http://msdn.microsoft.com/es-es/library/ms228499(v=vs.90).aspx
CUANDO SE ESPECIFICAN LOS EVENTOS SE DEBE:
1.
DEFINIR LOS OBJETOS SOURCE.
2.
DEFINIR SUS OBJETOS RECEPTORES LISTENER.
3.
DETERMINAR CADA INTERFAZ LISTENER QUE CORRESPONDE A
CADA OBJETO LISTENER.
EL NOMBRE
DE LA INTERFAZ COINCIDE CON EL NOMBRE
DEL EVENTO, SUSTITUYENDO LA PALABRA EVENT
POR LISTENER.
4.
CADA EVENTO TIENE SU
INTERFAZ, EXCEPTO EL RATÓN QUE TIENE DOS INTERFACES MOUSE LISTENER Y MOUSEMOTIONLISTENER.
5.
CREAR LA CLASE QUE USA ActionListener.
EJEMPLO:
public class
EventoBotón extends java.applet.Applet implements ActionListener {
UN PROGRAMA DEBE INCLUIR UNA INTERFAZ DE Listener PARA CADA TIPO DEL COMPONENTE
QUE QUIERE SER ESCUCHADO. PARA HACER QUE EL PROGRAMA RESPONDA A UN CLIC DEL
RATÓN EN UN BOTÓN O LA TECLA ENTER EN UN CAMPO DE TEXTO, SE DEBE INCLUIR LA
INTERFAZ ActionListener. PARA
RESPONDER AL USO DE UNA LISTA SELECTA O CAJAS DE SELECCIÓN, ES NECESARIO USAR
LA INTERFAZ ItemListener.
CUANDO REQUIERES MÁS DE UNA INTERFAZ, SEPARA SUS NOMBRES
CON COMAS, EJEMPLO:
public class Gráfico3D
extends java.applet.Applet implements ActionListener, MouseListener {
6.
SE DEBEN DE ESTABLECER LOS COMPONENTES DE MODO QUE
GENERAN EVENTOS DE USUARIO. POR EJEMPLO, CON UN COMPONENTE Button SE USARÁ addActionListener().
Button comando1 = new
Button(“Comando1”);
SE CREA UN OBJETO BOTÓN CON NOMBRE COMANDO1
QUE LLAMA EL MÉTODO addActionListener().
Comando1.addActionListener(this)
this SIGNIFICA QUE EL MÉTODO
ESTÁ LOCALIZADO EN EL MISMO PROGRAMA.
this EN EL MÉTODO addActionListener()
SIGNIFICA QUE ESTA (this) CLASE DE OBJETO EN ESTE CASO Comando1 VA A MANEJAR (handle)
EL EVENTO.
7.
SE DEBE ESPECIFICAR COMO
MANEJAR LOS EVENTOS CUANDO OCURRE UN
EVENTO DEL USUARIO SOBRE EL COMPONENTE QUE TIENE Listener, AUTOMÁTICAMENTE SE LLAMARÁ EL MÉTODO CORRESPONDIENTE.
CADA Listener TIENE DIFERENTES
MÉTODOS QUE LLAMA, POR EJEMPLO: ActionListener
LLAMA AL MÉTODO actionPerformed().
void public
actionPerformed(ActionEvent evt) {
//AQUÍ SE ESPECIFICA EL MÉTODO
}
8.
IDENTIFICAR EL OBJETO
CON UNA DECLARACIÓN, EJEMPLO: EN EL MÉTODO ActionEvent
EL OBJETO SE LLAMA evt.
String cmd =
evt.getActionCommand();
// EL MÉTODO getActionCommand() ENVIA DE REGRESO LA ACCIÓN REALIZADA Y LA GUARDA
EN EL STRING cmd.
SI EL COMPONENTE ES BOTÓN,
EL STRING VA A APARECER COMO SU ETIQUETA, SI ES TextField, ES
DECIR, CAMPO DE TEXTO, VA A APARECER COMO TEXTO. SI TENEMOS OBJETOS EL MÉTODO getSource() MANDA DE REGRESO EL OBJETO
QUE CAUSÓ EL EVENTO.
EJEMPLO:
PUEDES USAR
EL MÉTODO actionPerformed() PARA
RECIBIR EVENTOS DE TRES COMPONENTES: UN OBJETO Button LLAMADO BOTÓN1, UN TextField
LLAMADO CAMPO1 Y OTRO TextField LLAMADO
CAMPO2.
PUEDES USAR
EL MÉTODO getSource() CON TODOS
TIPOS DE EVENTOS DE USUARIO PARA IDENTIFICAR EL OBJETO ESPECÍFICO QUE CAUSÓ EL
EVENTO.
EVENTOS DEL TEXTO
EL
MÉTODO getText() SE USA PARA RECIBIR
EL VALOR DE LOS COMPONENTES DE TEXTO.
EL
MÉTODO setText() SE USA PARA
INTRODUCIR EL VALOR A LOS COMPONENTES DE TEXTO.
LOS EVENTOS SE RECIBEN DEL MÉTODO itemStateChanged() QUE TOMA EL OBJETO ItemEvent COMO ARGUMENTO. PARA VER QUE OBJETO CAUSÓ EL EVENTO,
DEBES USAR EL MÉTODO getSelectedObjects().