Eventos y Applets
Eventos y Applets
Eventos y Applets
DE LA CRUZ CRUZ MARICELA FLORENTINO RAMOS MARTHA LETICIA GONZALES HERNANDEZ FRANCISCO AGUSTIN HERNANDEZ HERNANDEZ MARIA DE LOS ANGELES MEZA CONTRERAS DIANA SARAHI RIVERA RAMOS MILDRED SARID
INTEGRANTES:
UNIDAD 1
TRABAJO:
4
SEMESTRE:
EQUIPO 5
UNIDAD 1
Pgina 1
TIPOS DE EVENTOS.3
APPLETS.9
PROGRAMAS....11
BIBLIOGRAFIA.32
EQUIPO 5
UNIDAD 1
Pgina 2
TIPOS DE EVENTOS
Los eventos se dividen en dos clases: de bajo nivel o de componente, y de alto nivel o semnticos. Eventos de bajo nivel o de componente Son aquellos que representan una entrada sobre un componente visual de un sistema de ventanas en la pantalla. Hacer click con el ratn, oprimir una tecla. La clase Component del AWT, define los mtodos de procesamiento y registro de escucha para eventos a nivel de componente. Por ejemplo el mtodo addMouseListener(), que agrega un escucha para recibir eventos del ratn en un componente,o addKeyListener() para agregar un escucha que reciba eventos del teclado en un componente. Todos los eventos a nivel de componente son subclases de java.awt.event, tales como: ComponentEvent: Evento de bajo nivel que indica que un componente se ha movido, cambiado su tamao, o cambiada su visibilidad. FocusEvent: Evento generado por un componente, que indica que el componente ha ganado o perdido su enfoque en el teclado. InputEvent: es la clase raiz para todos los eventos de entrada a nivel de componente. Los eventos de entrada son despachados a los escuchas antes que que sean procesados normalmente por las fuentes donde ellos se generaron. KeyEvent: indica que se ha presionado una tecla en un componente. Este evento se genera por un objeto componente, por ejemplo un campo de texto, cuando una tecla es presionada, suelta, o se genera un carcter con ella presionndola y soltandola. EQUIPO 5 UNIDAD 1 Pgina 3
Event
evt,int
key
Algunos de los eventos que ms frecuentemente tendremos que controlar son los siguientes: ACTION_EVENT MOUSE_DOWN KEY_PRESS WINDOW_DESTROY EQUIPO 5 UNIDAD 1 Pgina 5
CREACIN DE EVENTOS Mejorar El Diseo De Interfaces La interface de usuario es el aspecto ms importante de una aplicacin, tal como ya hemos repetido. Un diseo pobre de la interface es un grave problema para que el usuario pueda obtener todo el partido posible de la aplicacin. Para ser efectivos, no debemos limitarnos a colocar una serie de botones, etiquetas y barras de desplazamiento sobre la pantalla. Desafortunadamente, nadie ha determinado una reglas correctas para del diseo de una buena interface. Cambio De Fuente De Caracteres El font de caracteres con el que se presenta un texto en pantalla influye mucho en el impacto de una interface. Una interface efectiva no debera utilizar una maraa de fuentes, pero s que debera utilizar dos o tres diferentes para aumentar el atractivo y la efectividad de los textos. Utiliza tres tipos de fonts de caracteres (en diferente estilo y diferente tamao) para llamar la atencin del usuario sobre las tres zonas de la interface. La fuente por defecto para todos los Componentes es la fuente Dialog. Java proporciona otras fuentes con propsitos ms especializados, el nmero exacto de fuentes depende de la plataforma, por ello, se puede utilizar el applet ListaFuentes.java para obtener una lista de las fuentes de caracteres disponibles en el sistema.
Cuando un programador necesita presentar un Componente en pantalla, como un objeto TextArea, en una fuente de caracteres distinta a la de defecto, la nueva fuente debe seleccionarse mediante el mtodo setFont(): public void setFont( Font f )
EQUIPO 5
UNIDAD 1
Pgina 6
Fijar El Tamao Preferido Otro ingrediente importante de una buena interface es el tamao con el cual aparecer un Componente o Contenedor en la pantalla. En el corazn del control de la composicin del interface est el layout manager, que es capaz de fijar el tamao y la posicin de los Componentes que se vayan incorporando al layout que est manejando. Esto, indirectamente, tambin influye en el tamao del Contenedor. En este caso, en lugar de llamar a un mtodo para indicar cul debe ser el tamao de un Componente, hay que derivar una nueva clase del Componente y redefinir el mtodo preferredSize() que devolver el tamao preferido. El layout manager llama al mtodo preferredSize() para determinar cul debe ser el tamao preferido para cada Componente.
APPLET
Un applet Java es un applet escrito en el lenguaje de programacin Java. Los applets de Java pueden ejecutarse en un navegador web utilizando la Java Virtual Machine(JVM), o en el AppletViewer de Sun. Entre sus caractersticas podemos mencionar un esquema de seguridad que permite que los applets que se ejecutan en el equipo no tengan acceso a partes sensibles (por ej. no pueden escribir archivos), a menos que uno mismo le d los permisos necesarios en el sistema; la desventaja de este enfoque es que la entrega de permisos es engorrosa para el usuario comn, lo cual juega en contra de uno de los objetivos de los Java applets: proporcionar una forma fcil de ejecutar aplicaciones desde el navegador web. En Java, un applet es un programa que puede incrustarse en un documento HTML, es decir en una pgina web. Cuando un navegador carga una pgina web que contiene un applet, este se descarga en el navegador web y comienza a ejecutarse. Esto permite crear programas que cualquier usuario puede ejecutar con tan solo cargar la pgina web en su navegador. El navegador que carga y ejecuta el applet se conoce en trminos genricos como el "contenedor" de los applets. Los applets de Java suelen tener las siguientes ventajas: * Son multiplataforma (funcionan en Linux, Windows, Mac OS, y en cualquier sistema operativo para el cual exista una Java Virtual Machine). * El mismo applet puede trabajar en "todas" las versiones de Java, y no slo la ltima versin del plugin. Sin embargo, si un applet requiere una versin EQUIPO 5 UNIDAD 1 Pgina 9
~PROGRAMAS~
CALCULADORA
import java.awt.Container; import java.awt.Font; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.Stack;
EQUIPO 5
UNIDAD 1
Pgina 11
private static final long serialVersionUID = 3221707769370092517L; Container container; JTextField datos; JButton b1,b2,b3,b4,b5,b6,b7,b8,b9,b0; JButton opSuma, opResta, opMult, opDiv; JButton punto, calcular, limpiar; Stack<String> pila; char operacion; boolean operacionTerminada=false;
/* Formato del campo de entrada */ datos = new JTextField(); datos.setFont(fuente); datos.setEditable(false); EQUIPO 5 UNIDAD 1 Pgina 12
renglon2.add(b1 = new JButton("1")); renglon2.add(b2 = new JButton("2")); renglon2.add(b3 = new JButton("3")); renglon2.add(opSuma = new JButton("+")); renglon3.add(b4 = new JButton("4")); renglon3.add(b5 = new JButton("5")); renglon3.add(b6 = new JButton("6")); renglon3.add(opResta = new JButton("-")); renglon4.add(b7 = new JButton("7")); renglon4.add(b8 = new JButton("8")); EQUIPO 5 UNIDAD 1 Pgina 13
/* Aplicando fuente a todos los botones */ b1.setFont(fuente); b2.setFont(fuente); b3.setFont(fuente); b4.setFont(fuente); b5.setFont(fuente); b6.setFont(fuente); b7.setFont(fuente); b8.setFont(fuente); b9.setFont(fuente); b0.setFont(fuente); opSuma.setFont(fuente); opResta.setFont(fuente); opMult.setFont(fuente); opDiv.setFont(fuente); punto.setFont(fuente); calcular.setFont(fuente);
EQUIPO 5
UNIDAD 1
Pgina 14
if( e.getSource()==b1 ){ datos.setText(datos.getText()+1); } else if( e.getSource()==b2 ){ datos.setText(datos.getText()+2); } else if( e.getSource()==b3 ){ datos.setText(datos.getText()+3); } else if( e.getSource()==b4 ){ datos.setText(datos.getText()+4); } else if( e.getSource()==b5 ){ datos.setText(datos.getText()+5); EQUIPO 5 UNIDAD 1 Pgina 16
private void calculaOperacion() { if( !datos.getText().equals("") && !pila.isEmpty() ){ if(operacion=='+') datos.setText( Double.toString( Double.parseDouble( pila.pop() ) + Double.parseDouble( datos.getText() ) )); else if(operacion=='-') datos.setText( Double.toString( Double.parseDouble( pila.pop() ) - Double.parseDouble( datos.getText() ) )); EQUIPO 5 UNIDAD 1 Pgina 18
operacionTerminada = true;
datos.setText(""); }
EQUIPO 5
UNIDAD 1
Pgina 19
EVENTO DE MOUSE import java.awt.Graphics; import java.awt.event.*; import java.applet.Applet; public class Ratoncito2 extends Applet implements MouseListener { private int mouseX = 25; private int mouseY = 25;
//Registrar esta instancia de applet para capturar eventos de //MouseLister public void init ( ) { addMouseListener (this) ; }
public void paint (Graphics g) { g.drawString ("Hola Ingenieros en Sistemas", mouseX, mouseY) ; } EQUIPO 5 UNIDAD 1 Pgina 20
//Procesa el evento MousePressed MouseListener public void mousePressed (MouseEvent evt) { mouseX = evt.getX ( ) ; mouseY = evt.getY ( ) ; repaint ( ) ; }
//No estamos usando los otros eventos del mouse. public void mouseClicked (MouseEvent e) { } public void mouseEntered (MouseEvent e) { } public void mouseExited (MouseEvent e) { } public void mouseReleased (MouseEvent e) { } }
FACE="JOKERMAN"
size=7>~
UNIDAD 1
Pgina 21
EQUIPO 5
UNIDAD 1
Pgina 22
EVENTO MOUSE /* * Fichero: ArrastrarGrafico.java * Autor: Chuidiang * Fecha: 6/06/07 21:40 */ package chuidiang.ejemplos.arrastrar_grafico;
import java.awt.Canvas; import java.awt.Color; import java.awt.Dimension; import java.awt.Graphics; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionListener;
/** * Ejemplo de grfico que se puede arrastrar con el ratn. * * @author Chuidiang * EQUIPO 5 UNIDAD 1 Pgina 23
/** * Posicion x del vrtice superior izquierdo del rectngulo. */ private int xRectangulo = 0;
/** * Posicion y del vrtice superior izquierdo del rectngulo */ private int yRectangulo = 0;
/** * Crea un nuevo objeto ArrastrarGrafico. */ public ArrastrarGrafico() { addMouseMotionListener(this); } EQUIPO 5 UNIDAD 1 Pgina 25
/** * Para darle un tamao por defecto al Canvas de dibujo * * @return Dimension por defecto. */ @Override public Dimension getPreferredSize() { return new Dimension(500, 500); }
/** * Dibuja el rectngulo en la posicin indicada por por xRectangulo e * yRectangulo. * * @param g Graphics con el que dibujar. */ @Override public void paint(Graphics g) { g.setColor(Color.GREEN); g.fillRect(xRectangulo, yRectangulo, anchoRectangulo, altoRectangulo); }
EQUIPO 5
UNIDAD 1
Pgina 26
/** * Mtodo al que se llama cuando se arrastra el ratn. * Se comprueba con el atributo arrastrando si est empezando el arrastre o * ya se esta en medio del mismo. * Si se comienza el arrastre, se guardan las coordenadas del ratn que * vienen en el evento MouseEvent y se cambia el valor del atributo arrastrando. * Si se est en medio de un arrastre, se calcula la nueva posicin del * rectngulo y se llama al mtodo repaint() para que se pinte. * * @param e Evento del ratn EQUIPO 5 UNIDAD 1 Pgina 27
// Se guarda la posicin del ratn para el siguiente clculo xAnteriorRaton = e.getX(); EQUIPO 5 UNIDAD 1 Pgina 28
/** * Para ver si el ratn est dentro del rectngulo. * Si est dentro, puede comenzar el arrastre. * * @param e El evento de ratn * * @return true si el ratn est dentro del rectngulo */ private boolean estaDentro(MouseEvent e) { if ( (e.getX() > xRectangulo) && (e.getX() < (xRectangulo + anchoRectangulo)) && (e.getY() > yRectangulo) && (e.getY() < (yRectangulo + altoRectangulo))) { return true; } EQUIPO 5 UNIDAD 1 Pgina 29
return false; }
/** * El ratn se mueve sin arrastrar. Se marca fin de arrastre. * * @param e E */ public void mouseMoved(MouseEvent e) { arrastrando = false; } }
EQUIPO 5
UNIDAD 1
Pgina 30
EQUIPO 5
UNIDAD 1
Pgina 31
http://www.slideshare.net/javi2401/eventos-en-java-presentation
EQUIPO 5
UNIDAD 1
Pgina 32