librerÍas swing y applet de java

Upload: orlando-brieva-lopez

Post on 19-Jul-2015

777 views

Category:

Documents


0 download

TRANSCRIPT

LIBRERA SWING: Pertenece a las JFC (Java Foundation Classes). Biblioteca grfica de Java desde la versin 1.2. Contenido en el paquete javax.swing. Creada a partir de java.awt. Permite una interfaz adaptada a cada SO sin cambio de cdigo. Fcil manejo.

Clases del paquete Swing (I)

Clases del paquete Swing (II) Todos los componentes heredan de javax.swing.JComponent JFrame ser la base para la aplicacin principal. JDialog construir los dialgos (ventanas). El resto de clases sern componentes simples. Usar en todas las clases import javax.swing.*; y import java.awt.*; Todas las componentes permiten fijar un componente.setMnemonic(KeyEvent.VK_letra); Todas las componentes permiten fijar tooltips.

nemotcnico:

Clase JButton (I) Es un botn que puede contener texto, grficos, o ambos. Fijar el texto siempre centrado, en caso de contener una imgen, ha de ir a la izquierda o encima del texto. Incluir ... si precisa de ms informacin para llevar a cabo la ejecucin.

Clase JButton (II) Mtodos importantes: setText(Texto); setTooltipText(Tooltip); setBackground(new Color(R, G, B)); setForeground(Color.color); setIcon(new ImageIcon(ruta)); setFont(new Font(tipo, estilio, tamao)); setBounds(new Rectangle(posX,posY,tamX,tamY)); Y sus correspondientes get. Clase JToggleButton (I) Es un botn que representa dos estados (On y Off). Mismas caractersticas que el JButton. Puede emplearse como dos tipos de opciones. Independientes (Checkboxes).

Exclusivas (RadioButton).

Clase JToggleButton (II) Mtodos importantes: Mismos mtodos que JButton, pero aadiendo algunos nuevos. isSelected(); setSelected(boolean); Es posible aadir botones a grupos, para garantizar opciones mutuamente exclusivas.

Clase JCheckBox Es un control que representa dos estados (On y Off). Mismas propiedades y mtodos que los anteriores. Se pueden emplear Mnemotcnicos. Mtodos isSelected() y setSelected(boolean)

Clase JRadioButton (I) Permiten seleccionar una nica opcin dentro de un conjunto de opciones relacionadas. Slo puede haber una opcin seleccionada a la vez. Aunque tiene la misma funcin que los botones de conmutacin agrupados, conviene usar los radio botones en dilogos, y los de conmutacin en barras de herramientas. Mtodos similares a los de JCheckBox

Clase JRadioButton (II) Los botones de radio (como los checkboxes), suelen aparecer agrupados, con una leyenda identificativa. Para ello, en Swing se utiliza un panel, con un borde y un ttulo, agrupandolos en un ButtonGroup.

Clase JComboBox (I) Esta componente nos permite, al hacer click sobre ella, seleccionar una opcin de entre un conjunto, todas ellas mutuamente exclusivas.

El texto de los tems ha de ir capitalizado. Facilitar el acceso por teclado mediante etiquetas con nemotcnicos. Clase JComboBox (II) Se pueden generalizar en dos tipos: Editables No editables Mtodos: setEditable(boolean); addItem(Objeto); getSelectedItem(); Clase JList (I) Es un componente que muestra un conjunto de tems de texto, grfico o ambos. Permite tres tipos de seleccin: tem nico Rango simple Rango mltiple Mediante el mtodo: .setSelectionMode(ListSelectionModel.SELECTION); Donde SELECTION puede ser: SINGLE_SELECTION SINGLE_INTERVAL_SELECTION MULTIPLE_INTERVAL_SELECTION Componentes para texto (I) JLabel Muestra texto, grficos o ambos, slo lectura. Ha de estar desactivado si lo est el componente. JTextField Muestra una linea de texto que puede ser editable. Con setText(Texto) se le asigna el texto.

Componentes para texto (II) JPasswordField Oculta los caracteres introducidos por el usuario. setEchoChar('char') indica el carcter de mscara. getPassword() recupera el password introducido. JTextArea Espacio rectangular en el que ver y editar mltiples lneas de texto. Para que aparezcan barras de scroll debe ir dentro de un JScrollPane. Mens (I) Los mens han de ir en la ventana principal de la aplicacin. Es posible asignarles un grfico. Cada ttulo de men debe tener su mnemotcnico. Pueden ser de tres tipos: Drop-Down Submenu Contextuales Mens (II) Los men Drop-Down son los que saldrn al, por ejemplo, hacer click en Archivo. Los submenus son aquellos que salen como un grupo de un elemento de men. Los mens contextuales, (clase JPopupMenu) son aplicables a la regin en la que est localizado el puntero del ratn. Los mnemotcnicos de los mens contextuales han de coincidir con los del men Drop-Down. Mens (III) Son las clases JMenuBar, JMenu y JMenuItem. Han de seguir la siguiente jerarqua:

Contenedores (I) Clase JToolBar

Son botones de comando o conmutacin. Se suelen emplear grficos. Mtodos setFlotable(boolean) y addSeparator() Contenedores (II) Clase JPanel : Es un contenedor que agrupa componentes dentro de una ventana. Los layouts permiten una correcta posicionacin de los componentes. Clase JTabbedPane: Es un contenedor que permite tener varios componentes separador por pestaas. Mtodos Dilogos Son ventanas ms limitadas que los Frames, y dependientes de estos, si se destruye el Frame, tambin lo hace el dilogo. Pueden ser: No modales: No impiden interactuar con el Frame. Modales: Impiden interactuar con el resto. Los ms importantes son: JOptionPane y JFileChooser. Dilogo JOptionPane (I) Permite adaptar y crear varias clases de dilogos, especificando por ejemplos los iconos, el ttulo y texto de los dilogos. Los iconos estndar son: question, information, warning y error. Los mtodos principales son: showMessageDialog showConfirmDialog Dilogo JOptionPane (II) showMessageDialog: JOptionPane.showMessageDialog (this,Mensaje,Titulo,JOptionPane. WARNING_MESSAGE); showConfirmDialog: int resp = JOptionPane.showConfirmDialog(this,Mensaje,Titulo,

JOptionPane.YES_NO_OPTION); int resp = JOptionPane.showConfirmDialog(this,Mensaje,Titulo,JOptionPane. YES_NO_CANCEL_OPTION); int resp = JOptionPane.showConfirmDialog(this,Mensaje,Titulo, JOptionPane.OK_CANCEL_OPTION); if (resp == JOptionPane.YES_OPTION){ ..... Dilogo JFileChooser (I) Permite navegar por el sistema de ficheros, y seleccionar uno o varios ficheros. Ejemplo: private JFileChooser jFileChooser1 = new JFileChooser(); ... if (jFileChooser1.showOpenDialog(this)==jFileChooser1.APPROVE_OPTION) { jTextField1.setText("APPROVE_OPTION"); jTextField2.setText(jFileChooser1.getSelectedFile().getName()); } else jTextField1.setText("CANCEL_OPTION"); Dilogo JFileChooser (II) Mtodos importantes: multiSelectionEnabled(boolean); getSelectedFile();

Layouts (I) Indican la forma de organizar los componentes dentro de un contenedor, determinando el tamao y la posicin. Para su uso:

Crear el contenedor. Establecer el layout. Agregar los componentes el contenedor. Layouts (II) Tipos de layouts: FlowLayout BorderLayout GridLayout BoxLayout GridBagLayout Por defecto: JPanel -> FlowLayout JFrame, JDialog -> BorderLayout Layouts (III) FlowLayout: Es el ms simple, los componentes aadidos a un contenedor se disponen en una o mas filas, de izquierda a derecha y de arriba a abajo. BorderLayout: Utiliza 5 reas para colocar los componentes: Norte, Sur, Este, Oeste y Centro. Si alguna no se ocupa, se expande la contigua. Layouts (IV) GridLayout: El controlador se crea con un determinado numero de filas y columnas. Los componentes se situan de forma secuencial, de izquierda a derecha y de arriba a abajo. El tamao de las celdas es idntico. BoxLayout: Permite organizar los componentes en una lnea horizontal o vertical, sin dejar espacio entre los componentes. LIBRERA APPLET Qu es un applet? Un applet es una pequea aplicacin java, la cual esta disponible en un servidor web del cual nos la descargamos y ejecutamos dentro de una pgina web. Algunas de sus caractersticas son:

o

Tamao pequeo, esto es debido a que se requiere su descarga a travs de la red. Aunque existen applets de gran tamao. Uso de interfaces grficos, utiliza las clases AWT y Swing, las cuales dotan al interface del applet de una gran versatilidad y operabilidad para el usuario. ...

o

o

Podramos decir que es un componente, ya que va a ir incluido dentro de otras aplicaciones. Creando un applet Lo primer que hay que tener en cuenta es que la definicin de los applet se encuentra dentro de la librera java.applet, la cual deberemos de importar para poder utilizarla. Adems necesitaremos de la librera java.awt que es la que gestionar los recursos grficos que se incluyan dentro del applet. La librera java.applet cuenta con una clase abstracta Applet, de la que deberemos de heredar en la clase principal de nuestra aplicacin. import java.applet.*; public class miApplet extends Applet { //variables y mtodos } Ciclo de vida del applet Un applet de java pasa por diversos estados: 1. El applet se carga por primera vez, es decir, se inicializa. Esto sucede cuando el usuario entra en la pgina por primera vez. 2. Seguidamente el applet empieza a funcionar. 3. En el caso de que el usuario abandone la pgina, para desaplazarse a otra, lo que se hace es detener al applet, pero no descargarlo de memoria. 4. Si el usuario recarga la pgina donde se encuentra el applet, este se descarga de memoria el applet actual y sus recursos asociados. Posteriormente se carga una nueva instancia del applet.

5. Cuando se cierra el navegador o la aplicacin que visualiza el applet, se detiene la ejecucin y se libera el applet de memoria. Cada uno de los estados lleva asociado un mtodo: public void init ( ) { } Este mtodo se llama cuando se inicializa el applet por primera vez. En este mtodo es aconsejable fijar el tamao (ancho y alto) del applet. Adems se suelen instanciar los elementos que utilice el applet, ya sean botones, cajas de texto, imgenes,... public void start ( ) { } Es el mtodo que arranca la ejecucin del applet cada vez que se visita, siempre y cuando el applet est expuesto a la visin del usuario. public void stop ( ) { } Para la ejecucin del applet. Se ejecuta cuando el applet desaparece de la pantalla. public void destroy ( ) { } Destruye el applet cuando este ya no se vaya a utilizar. En este mtodo deberemos de poner a null todas las variables que maneje el applet para que puedan ser descargadas de memoria por el Garbage Collector (GC), que es el encargado de liberar memoria dentro de la JVM (Java Virtual Machine). Estos mtodos al heredarlos no hacen nada, es por ello que deben de ser sobrecargados para dotarles de funcionalidad. Otros mtodos que utiliza el applet son: public void paint (Graphics g) { }

Este mtodo se ejecuta cada vez que el rea de dibujo del applet es refrescada, ya sea porque es la primera vez que se visualiza el applet, porque el usuario ha movido el applet por la pantalla, porque se ha redimensionado el navegador,.... Inicialmente, el rea de dibujo es un rectngulo gris. public void update (Graphics g ) { } Esta funcin es la que realmente se llama cuando se refresca el rea de dibujo del applet. Lo que hace es limpiar el rea de dibujo y llamar a paint. Si estamos realizando aplicaciones que trabajen con grficos, veremos que esta funcin habr que sobrecargarla para que la pantalla no parpadee. public void repaint ( ) { } Una llamada a este mtodo fuerza a la actualizacin del applet, es decir, se llama a su mtodo update. Mi primer applet En nuestro primer applet, lgicamente, deberemos de codificar la aplicacin que nos muestre la cadena de texto "Hola Mundo". Veamos el cdigo: import java.awt.*; import java.applet.*; public class miApplet extends Applet { public void paint (Graphics g) { g.drawString("Hola Mundo",30,30); } } Mtodos de los Applets init start paint stop destroy

Mtodo init Este mtodo es llamado una sola vez, cuando el applet es cargado en el browser. En este mtodo realiza la inicializacin de un applet. Tambin dentro de este mtodo: Se inicializan las variables del applet. Se crean los objetos que el applet necesita. Se cargan imgenes, sonidos o fonts. El mtodo init es heredado de la superclase Applet y se redefine (method overriding) si es necesario. Este mtodo se debe utilizar para realizar las acciones iniciales del applet: inicializar variables, distribuir los compontentes grficos del applet, etc. En general, el mtodo init() debera contener el cdigo que se pondra normalmente en un constructor. La sintaxis del mtodo init es: public void init( ) { //cdigo } Mtodo start El mtodo start es llamado: Luego de que se termina de ejecutar el mtodo init. Cuando un usuario vuelve a visitar la pgina HTML donde est el applet, tras haberla abandonado momentneamente. Cuando se minimiza la ventana del navegador y se ejecuta otra tarea, y se vuelve a ejecutar el applet maximizando la ventana del navegador. Este mtodo puede ser invocado algunas veces durante su ciclo de vida de un applet. La sintxis del mtodo start es: public void start ( ) { //cdigo } Mtodo paint Se refiere a como un applet muestra algunas cosas sobre la pantalla, tal como texto, lneas, color de fondo o una imagen. El mtodo paint puede ser invocado varias veces durante el ciclo de vida de un applet. Por ejemplo, cuando la ventana de la pgina web ha sido tapada por otra ventana, o porque se ha restaurado su tamao. La sintaxis del mtodo paint es la siguiente: public void paint (Graphics g) { //cdigo }

Usted debera incluir la sentencia: import java.awt.Graphics; Tambin es llamado, cada vez que un applet necesita ser pintado nuevamente. Las acciones que se realizan en este mtodo tienen que ver con el dibujo del objeto grfico g que es automticamente pasado como parmetro. Este mtodo es heredado de la clase java.awt.Container.

Mtodo stop Detiene la ejecucin de un applet. Es llamado, cuando una pgina web contiene este applet ha sido reemplazada por otra pgina y tambin justo antes del mtodo destroy. La sintxis de este mtodo es la siguiente. public void stop ( ) { //cdigo } Mtodo destroy Este mtodo es llamado cuando el Applet est siendo removido de memoria. Este mtodo realiza las tareas que son necesarias para liberar todos los recursos que est usando el applet. La mayora de los applets no necesitan sobrescribir el mtodo destroy(), porque su mtodo stop() (al que se llama antes) hace todo lo necesario para detener la ejecucin del applet. Sin embargo, el mtodo destroy() esta disponible para los applets que necesitan liberar recursos adicionales asignados. La sintaxis de este mtodo es la siguiente: public void destroy ( ) { //cdigo } Otros mtodos: update Esta es la funcin que realmente se llama cuando se necesita una actualizacin de la pantalla (en lugar de llamar directamente a la funcin paint()). La clase Applet simplemente limpia el rea y llama al mtodo paint(). Las clases derivadas pueden sustituir esta funcionalidad para sus propsitos. La sintxis de este mtodo es la siguiente: public void update (Graphics g) { //cdigo }

Otros mtodos: repaint A esta funcin se la debera llamar cuando el applet necesite ser repintado. Llamando a este mtodo se podr forzar la actualizacin del applet. Este es el mtodo que habitualmente invocan los programadores de applets para refrescar el contenido del applet en pantalla. Al llamar al mtodo repaint(), internamente se llama a update() que borrar el rectngulo sobre el que se redibujar y luego a su vez llamar a paint(). La sintxis de este mtodo es la siguiente: public void repaint ( ) { //cdigo } La Clase Color Sistema RGB (Red Green Blue) Cada componente es representado con un entero de 0 a 255. Para setear los colores: g.setColor(Color.pink); Color brush = new Color (255,204,102); g.setColor (brush);

La clase Font Font f = new Font(Dialog, Font.BOLD + Font.ITALIC,24); public void paint (Graphics screen) { Font f= new Font(TimesRoman, Font.PLAIN,72); screen.setFont(f); screen.drawString(HOLA,10,100); } Ver DemoFont.java y DemoFont.html clase FontMetrics

clase FontMetrics public int getAscent() public int getDescent() public int getLeading() public int getHeight() public int stringWidth(String str)

La clase Graphics Es parte del paquete java.awt Le permite dibujar texto, lneas, valos, crculos, rectngulos y otros polgonos. Todos los mtodos que permiten dibujar sern llamados desde el mtodo paint( ). La forma como los distintos sistemas operativos generan los grficos es diferente, la clase Graphics, provee la interfase para permitirnos hacer programas que generen grficos independientes de la plataforma.

NETBEANS

Projects: permite tener a mano todos los proyectos en que uno est trabajando actualmente o en los que ha trabajado en el ltimo tiempo. A travs de la expansin o colapso de los nodos en el rbol uno puede ir navegando a travs de los elementos que conforman el proyecto. Sugiero hacer clic derecho sobre el proyecto y revisar la ventana de propiedades. Files: permite navegar a travs de las carpetas del proyecto. A veces algunos elementos pueden no aparecer en el rbol del proyecto en Proyects, pero si en Files. Por ejemplo, los archivos de salida al ejecutar o debugear un proyecto. Services: maneja conexiones a algunos servicios. Los ms comunes son los de Bases de datos. Son una ayuda sumamente til si uno realiza proyectos que interactan con servidores de base de datos. Navigator: despliega los miembros de una clase. Se sugiere revisar su funcionamiento ya que puede ser de suma utilidad. Permite desplegar o esconder los 6 miembros heredados de una clase, desplegar o esconder los atributos de una clase, ir hasta la definicin de un miembro (haciendo doble clic sobre este), encontrar ocurrencias del elemento (find usages), etc.