Documente Academic
Documente Profesional
Documente Cultură
Aspirante:
Director:
ING. AL MNDEZ.
Certifico que esta investigacin ha sido desarrollada en su totalidad por el
F).
F).
2
3.9.7. Extraer archivos desde un archivo JAR ................................................ 51
3.10. SwingUtilities ............................................................................................ 51
3.10.1. Mtodos de clculo .............................................................................. 52
3.10.2. Mtodos de conversin ......................................................................... 52
3.10.3. Mtodos de accesibilidad ...................................................................... 54
3.10.4 Mtodos de recuperacin....................................................................... 54
3.10.5.Mtodos relacionados con la multitarea y los eventos ........................... 55
3.10.6. Mtodos para los botones del ratn ...................................................... 56
3.10.7 Mtodos de disposicin/dibujo/UIString ................................................. 56
4. Conclusiones .............................................................................................. 58
5. Recomendaciones ....................................................................................... 59
6. Bibliografa .................................................................................................... 61
Anexos. ............................................................................................................. 62
INTRODUCCIN. ............................................................................................. 62
DATOS INFORMATIVOS. ................................................................................ 63
LUGARES DE CONSULTA. ............................................................................. 63
JUSTIFICACIN Y PROPUESTA. ................................................................... 63
4.1. ANLISIS DE LA SITUACIN ACTUAL ................................................ 64
4.2. PROPUESTA. ........................................................................................ 64
OBJETIVOS. ..................................................................................................... 65
5.1. Objetivo General. ................................................................................... 65
5.2 Objetivos Especficos: ............................................................................. 65
ALCANCE Y LIMITACIONES. .......................................................................... 65
6.1 Alcances. ................................................................................................. 65
6.2. Limitaciones. .......................................................................................... 65
MARCO REFERENCIAL Y CONCEPTUAL. ..................................................... 66
7.1. Marco Referencial. ................................................................................. 66
7.2. Marco Conceptual. ................................................................................. 66
TEMARIO.......................................................................................................... 67
ESTRATEGIAS METODOLGICAS. ............................................................... 69
RECURSOS...................................................................................................... 70
Recursos Humanos. ...................................................................................... 70
Recursos Tecnolgicos. ................................................................................ 70
Recursos Materiales. ..................................................................................... 70
Recursos Econmicos. .................................................................................. 71
BIBLIOGRAFA. ................................................................................................ 71
CRONOGRAMA ............................................................................................... 72
3
INTRODUCCIN
sus APIs, lo que se pretende mostrar las ventajas que ofrece ste tipo de
programacin.
amplitud de variaciones que pueden darse, sera muy extenso hacer una
descripcin detallada.
1
CAPTULO I
1.1 Historia
estndar de Java y est tan de moda que ha llegado a desplazar a AWT. Sin
Java (JFC).
2
Muchos programadores creen que JFC y Swing son lo mismo, pero no esas;
JFC contiene Swing y otro gran nmero de elementos. Esto es lo que hayen
JFC:
4
cualquier nmero de componentes Swing, ya que no soncomponentes por si
mismos.
javax.swing.colorchooserClases e interfaces que dan soporte al
componente JColorChooser, usado para seleccin decolores.
javax.swing.eventEl paquete contiene todos los oyentes y eventos
especficos de Swing. Los componentes Swingtambin soportan eventos y
oyentes definidos en java.awt.event y java.beans.
javax.swing.filechooser
javax.swing.plaf
paquete. stas estn orientadas a desarrolladores que, por una razn u otra,
javax.swing.plaf.basic
personal.
javax.swing.plaf.metal
5
javax.swing.plaf.multi
javax.swing.table
teclado.
javax.swing.text.html
Esta extensin del paquete text contiene soporte para componentes de texto
mientras escribimos este libro. Espor ello que la cobertura que le damos es
muy limitada.)
javax.swing.text.html.parser
javax.swing.text.rtf
6
javax.swing.tree
se usa para mostrary manejar datos que guardan alguna jerarqua. Soporta
javax.swing.undo
funcionalidaddeshacer/rehacer.
MenuKeyEvent
MenuDragMouseEvent
7
InternalFrameEvent: Un AWTEvent que aade soporte para
objetosJInternalFrame.
eliminadoun intervalo.
noseleccionado o cancelado.
cambiando.
colapsado.
8
Este paquete nuevo est enteramente basado en AWT y ms
plataforma 1.1.5 y que funcione sin ningn problema con la JVM de dicha
que, para no confundir con los antiguos, ahora empiezan todos por J. As en
es que stos ltimos estn implementados sin nada de cdigo nativo. Esto
nativo tambin permite que los componentes Swing sean vendidos como
aadidos al JDK 1.1, en lugar de slo formar parte del JDK 1.2. Incluso el
de lo
Por ejemplo:
9
Se pueden aadir o modificar fcilmente los bordes dibujados
un componente
10
visualizacin, sino que tambin se encarga de proporcionar barras de
Jlist: presenta una lista de elementos de entre los que se puede elegir uno o
varios simultneamente.
MDI.
cualquiercomponente Swing.
11
JcheckBox: es similar al componente checkbox que encontramos en
seleccionada o no.
texto permite la edicin de mltiples lneas. Hay que tener en cuenta que si
JscrollPane.
Java incorpora otra posibilidad para esta tarea: un monitor de progreso, que
12
CAPTULO II
2.1. Layouts
AWT incorporaba.
cada componenteprevio.
ScrollPaneLayout.
ViewportLayout.
misma aplicacin.
13
14
2.3. Nuevas caractersticas
modelos. Por ejemplo, una lista (JList) usa un ListModel que almacenalos
seleccinactual de la lista.
Por ejemplo,casi todos los programas que usan botones tratan directamente
cuando un componente, como una lista o una tabla, contiene muchos datos.
Puede ser mucho ms rpido manejar los datos trabajando directamente con
15
modelo. Se puede usar el modelo por defecto del componente o implementar
uno propio.
Las clases Model son una importante innovacin que facilita la programacin
Swing. Sin embargo, con un pequeo esfuerzo extra, se puede hacer que
2.6. Applets
Los applets son pequeos programas Java que se incluyen en pginas Web
por un navegador. Por tanto, para trabajar con applets es necesario conocer
applet. Teniendo en cuenta que las applets trabajan con IGU y estn guiadas
16
por eventos, el captulo se apoya en los conocimientos aportados por otros
Estructura De Un Applet
La clase Applet extiende la clase Panel del AWT y Panel extiende Container
Grfica de Usuario) y, al igual que todos los programas que trabajan con
Las upplets disponen de cinco mtodos que pueden sobre escribir, aunque
17
2.6.1. Applets en Swing
18
CAPITULO III
Ruta Rpida por el Cdigo de una Aplicacin Swing. Y aqu est su aspecto
de nuevo.
un botn (JButton)
19
El botn y la etiqueta son componentes atmicos -- componentes que
tablas (JTable).
mismo.
20
todo contenedor de alto nivel contiene indirectamente un contenedor
su panel de contenido. (Si realmente quieres verlo, puedes ver Cmo usar
nivel tiene una barra de men, entonces sta se sita en un lugar especial
formas del mtodo add. Este mtodo tiene al menos una rgumento -- el
Por ejemplo, la ltima lnea del siguiente cdigo de ejemplo especifica que el
Las siguientes figuras muestran los GUIs de cinco programas, cada uno de
ellos muestra cinco botones. Los botones son idnticos, y el cdigo de los
21
Control de Distribucin es el proceso de determinar el tamao y posicin de
disposicin.
detalles sobre cada uno de estos seis controladores, incluyendo claves para
ejemplo, aqu est el cdigo que hace que un panel use BorderLayout.
pane.setLayout(new BorderLayout());
23
no se ajusta bien cuando se redimensiona el contenedor de alto nivel.
podemos crear una subclase del componente que sobreescriba los mtodos
BoxLayout.
consejos de alineamiento.
24
3.2.3 Poner Espacio entre Componentes
visibles de un contenedor.
de distribucin.
mejores candidatos para los bordes vacos son los que tpicamente no tienen
bordes, como los paneles y las etiquetas. Algunos otros componentes, como
25
3.2.4. Cmo Ocurre el Control de Distribucin
(JFrame).
tamao preferido.
de contenido.
26
4.- Cuando a cada botn se le pide su tamao preferido, el botn
3.3.1 Ventanas
Swing, al igual que AWT, proporciona una jerarqua de clases Window. Las
clases Window del AWT. Laclase JWindow ampla la clase Window. La clase
teclado.
27
3.3.2. Mens
Los mens de Swing, al igual que las ventanas de Swing, son anlogos a
slo que con una diferenciafundamental. Las clases de mens de Swing son
Component. Esto implica que los mens de Swing, al contrario que sus
los mens. Se puede aadir una imagen a un elemento de men por medio
de su constructor.
3.3.3. Paneles
3.3.4. Diseos
Los contenedores de Swing admiten todos los diseos posibles del AWT,
entre los que seincluye el diseo null, adems de admitir otros diseos
nuevos.
28
3.3.5. Iconos
men, etc. La interfaz Icon define los mtodos que las clases de iconos
3.3.6. Bordes
define los mtodos que necesitan ser implementados por todas las clases de
29
contenedores de otros componentesSwing o del AWT. Los objetos JToolBar
imagen.
construido el objeto.
30
3.3.12. Deslizadores y barras de progreso
3.3.14. Tablas
AWT.JTable ofrece una posibilidad muy flexible para crear y mostrar tablas.
31
3.3.15. rboles
mtodos que tienen que implementar los nodos de un objeto JTree. La clase
interfaz TreeNode para luego aadirlos todos juntos (a travs del mtodo
rbol alternativa.
Cada vez que el usuario teclea un carcter o pulsa un botn del ratn, ocurre
32
Cada evento est representado por un objeto que ofrece informacin sobre
33
controles Swing tiene su correspondencia en la de AWT, y aqu resaltaremos
lo que es diferente. (Hay que tener en cuenta que todos los controles Swing
Las etiquetas son controles bsicos Swing que slo visualizan una lnea de
texto. Sera razonable pensar que las etiquetas soportan varias lneas de
texto en Swing, pero slo soportan una. Por otro lado, soportan algo que no
este libro. Ahora, iniciaremos este tema con los cuadros de texto, viendo
3.5. 2. Botones
este captulo veremos esta clase. Como se poda esperar, los botones Swing
teclas), disear un botn como botn por defecto de una ventana y fijar los
toggle Swing introduce los botones toggle, que son botones que, cuando se
hace clic sobre ellos, permanecen pulsados hasta que volvemos a hacer clic.
34
Los botones toggle son como las casillas de activacin y botones de opcin
instanciar objetos de esta clase directamente. Al igual que ocurre con las
diferente forma que Swing. En Swing, los botones de opcin tienen su propia
clase (los botones de opcin, son casillas de activacin en AWT), y con ellos
imgenes con las casillas de activacin y los botones de opcin, hay algunos
java. 1ang.Object
Ijava.awt.Component
1 j a v a .a w t . C o n t a i n e r
Ijavax.swing.JComponent
I j a v a x .s w i n g . J L a b e l
Tabla 1.2
Swing.
36
3.6.1. Viewports
viewport es una ventana dentro de una vista, que visualizar una seccin de
desplazables.
3.6.3. Deslizadores
la clase JSlider. Los deslizadores son similares a los controles que vemos en
37
los deslizadores se introducen aqu debido a que los usuarios actualmente
3.6.5. Listas
Las listas, soportadas por la clase JList en la Swing, son unos controles muy
38
3.7. Swing: barras. Herramientas. Cuadros. Separadores y selectores
que el usuario puede utilizar para desplegar la lista de otros elementos. Los
lista, y han pasado a ser muy populares por esa razn. De hecho, la Swing
listas desplegables.
39
tiempo, como descargas de archivos desde la red Internet. Las barras de
colores y etiquetas que use en ellas y manejar sus eventos. Y an ms, las
3.7.3. Selectores
40
3.7.4. Herramientas de ayuda
herramientas de ayuda pueden ser muy tiles debido a que los usuarios de
la UI tienen una gran resistencia a leer los manuales. Lo nico que tiene que
hacen los distintos controles. Por otro lado, tenga en cuenta que muchas
3.7.5. Separadores
control.
41
3.8. Swing: ventanas. Paneles. Marcos internos y cuadros de dialogo
3.8.1. Ventanas
varias ventanas de marcos internos. Los marcos internos son de poco peso,
42
ms).Como ver aqu, es sencillo crear cuadros de dilogo utilizando
JDialog, que puede utilizar como base para sus propias clases de cuadro de
dilogo personalizadas.
sepa lo que sucede con los paquetes. Por ejemplo, si se tiene un paquete
package
-app
Mltiples archivos de clase en el mismo paquete irn en el mismo directorio:
packagel
-app
-app3
43
Como el directorio package se encuentra en una localizacin que Java
Buscar, Java buscar los archivos de clase que utilice como parte del
package:
packagepackagel;
publicclasc app
public static void main (String args)
importpackagel.*;
importpackagel.app;
podemos ejecutar esta clase con una lnea de comando que especifique el
directorios:
44
3.9.2. Crear paquetes que contienen paquetes
Por ejemplo, si quiere que la clase app est en el paquete package2, que
asu vez est dentro del paquete package 1, sta ser la estructura de
ejemplo:
package packagel.package2;
public class app
I
public static void rnain (String[l args)
{
Systern.out.println ("iHola desde Java! " ) ;
Ahora puede importar la clase app en su cdigo con sentencias como stas:
import packagel.package2.*;
irnport packagel.package2.app;
Debido a que en este caso app ya es una aplicacin clase, tambin puede
45
un mtodo: printText. Implementamos esta interfaz en la clase llamada class.
interfacePrintem
I
voidprintText ( ) ;
}
Ahora podemos implementar esta interfaz en class 1:
interfacePrintem
{
voidprintText ( ) ;
1
public class interfaces
(
public static void main(Stringr1 args)
I
classlobjectl = new classl0;
objectl.printText0;
1
}
classclassl implements Printem
I
public void printText0
(
ystam.out.println(HoladesdeJavaln);
Puede crear clases que implementen parcialmente una interfaz, pero estas
Aqu tiene un ejemplo en el que creamos una interfaz con dos mtodos,
printText 1 y printText2:
interfacePrintem
voidprintTextl(1;
void printText2 ( ) ;
declararlaabstracta):
interfacePrintem
(
voidprintTextl ( ) ;
void printText2 ( ) ;
Finalmente, podemos crear una nueva clase, class2, que extienda class1 e
interfacePrintem
void printText1 ( ) ;
void printText2 ( ) ;
public class interfaces2
{
public static void main(String[l args)
(
class2 object2 = new class2 O ;
object2.~rintText2();
abstract class classl implements Printem
(
public void printTextl0
System.out.println(" Holadesde Java!");
class class2 extends classl
f
public void printText20
System.out.println(~ola desde los interfaces Java!");
47
3.9.5. Crear un archivo JAR
vez de nuevas conexiones para cada nuevo archivo, lo que puede mejorar
Crear archivos JAR con la herramienta jar. Esta herramienta viene con Java
Aqu, options son las opciones que puede utilizar con la herramienta JAR y
son parecidas a las opciones que se utilizan con la herramienta UNIX tar. El
que soporta la firma digital y muestra los contenidos del archivo Java.
clases sonBeans
Aqu se observa las opciones posibles que puede utilizar cuando use la
herramienta
jar:
x file. Extrae todos los archivos o slo los nombres de archivos. caso,
48
f. El segundo argumento especifica un archivo JAR para trabajar.
entradas.
-C. Cambia los directorios durante la ejecucin del comando jar. Por
Ejemplo, jar aadira todos los archivos dentro del directorio clases, pero
@filen:"@"
S, con
En este caso, todos los archivos de clase del directorio actual se sitan en el
manifest y quiere que utilice la herramienta jar para un nuevo archivo JAR,
49
Observe que cuando especifica las opciones cfm en lugar de cmf, necesita
especificar el nombre del archivo JAR primero, seguido del nombre del
archivo manifest:
Observe tambin que los archivos JAR no son nicamente para archivos de
estructura de directorios.
archivo JAR con las opciones tf, como en este caso, donde el archivo JAR
c: \>jartfjarfile. jar
META- INF /
META-INF/MANIFEST.MF
applet.class
jpanel.class
newButton.class
testPanel.class
50
3.9.7. Extraer archivos desde un archivo JAR
xf. Por ejemplo, aqu tiene la forma de extraer todos los archivos del archivo
c: \>jarxfjarfile. jar
clasajavax.swing.SwingUtilities
relacionados con la multitarea y los eventos, mtodos para los botones del
51
3.10.1. Mtodos de clculo
Rectangle.
isRectangleContainingRectangle(Rectangle a, Rectangle
MouseEventconvertMouseEvent(Componentsource,
52
al sistema de coordenadas de source, y se pone source como fuente del
recibe parmetros de tipo int que representan las coordenadas del Point a
Point.RectangleconvertRectangle(Componentsource, RectangleaRectangle,
53
3.10.3. Mtodos de accesibilidad
javax.accessibility.Accessible.AccessiblegetAccessibleChild(Component c,
Component dado.
tiene una propiedad name que se puede asignar y recuperar usando los
54
ContainergetAncestorOfClass(Class c, Componentcomp): devuelve el
dado que contiene el punto (x,y) en trminos del sistema decoordenadas del
terminainmediatamente.
es una Window. Enotro caso este mtodo devuelve el ltimo ancestro que es
null.booleanisDescendingFrom(ComponentallegedDescendent,
allegedDescendent.
despacho de eventos.
55
3.10.6. Mtodos para los botones del ratn
56
dado en el contexto grfico dado, usando el rectngulo definido por los
cuatro parmetros de tipo int como rea de recorte. El Container se usa para
que acte como el padre del Component de forma que cualquier peticin de
unCellRendererPanevoidpaintComponent(Graphics g, Component c,
57
4. Conclusiones
que ofrece Swing son fruto de una suma de trabajos anteriores a l, lo que
la orientacin a objeto.
58
5. Recomendaciones
Todas las ventanas secundarias deben tener una ventana padre, que es a
JDialog secundario, salvo que tambin sea modal y sea hijo del anterior. Si
pones visibles a la vez dos JDialog modales y no son el uno hijo del otro,
pulsas el botn. Es mejor hacer slo un new la primera vez y guardar. En las
como mnimo que llamar al mtodo dispose() de dicha ventana -cosa que
59
eliminen todas las referencias que tienen a ella. De todas formas, incluso as
no tengo muy claro que los JDialog se liberen siempre y, desde luego, en
de SUN es que como slo deba haber un JFrame principal, no tena sentido
liberarlo.
Los layouts para situar componentes no son tan complicados, slo hay que
60
6. Bibliografa
A. Java Swing
http://jungla.dit.upm.es/~santiago/docencia/apuntes/Swing/
http://java.sun.com/docs/books/tutorial/uiswing
http://programacion.com/java/tutorial/swing/
AWThttp://www.ulpgc.es/otros/tutoriales/java/Cap4/awt.html
61
Anexos.
Anteproyecto
INTRODUCCIN.
sus APIs, lo que se pretende mostrar las ventajas que ofrece ste tipo de
programacin.
amplitud de variaciones que pueden darse, sera muy extenso hacer una
descripcin detallada.
62
DATOS INFORMATIVOS.
COMPONENTE SWING
Universidad.
Universidad Catlica de Cuenca
Unidad Acadmica de Ingeniera de
Sistemas, Elctrica y Electrnica
Facultad de Ingeniera de Sistemas.
Investigador.
Lugar.
Universidad Catlica de Cuenca.
Fecha.
10 de Octubre del 2011.
LUGARES DE CONSULTA.
http://zarza.usal.es/~fgarcia/docencia/poo/02-03/trabajos/S2T4.pdf
http://www.programacion.com/articulo/swing_y_jfc_java_foundation_classes_94
http://jungla.dit.upm.es/~santiago/docencia/apuntes/Swing/
http://www.programacion.net/java/tutorial/swing/
http://www.programacionfacil.com/java/indice.htm
JUSTIFICACIN Y PROPUESTA.
63
4.1. ANLISIS DE LA SITUACIN ACTUAL.
La programacin en Java ha comenzado a despegar simplemente debido a
su capacidad de hacer programas en mltiples plataformas. Esto es no slo
cierto para computadoras porttiles pero Java tambin est presente en las
PC de bolsillo e incluso en los telfonos mviles estndar. Debido a esto,
existe un gran inters en programar con Java y aprovechar este gran y
creciente mercado.
Estos kits de herramientas tienen sus propias ventajas y desventajas que los
hacen adecuados para los distintos tipos de necesidades de programacin.
El AWT utiliza muchos de los comandos de la plataforma que le da una gran
cantidad de velocidad. Pero a fin de convertirlo para su uso en otras
plataformas, debe cambiar los comandos de la contraparte. Por otro lado,
Swing utiliza cdigo Java puro, hacindolo muy porttil con el costo de
velocidad y rendimiento a travs de plataformas.
4.2. PROPUESTA.
64
OBJETIVOS.
ALCANCE Y LIMITACIONES.
6.1 Alcances.
6.2. Limitaciones.
65
MARCO REFERENCIAL Y CONCEPTUAL.
7.1. Marco Referencial.
controles GUI que ofrece Swing no tiene rival en ningn otro juego de
herramientas GUI.
66
El origen de los controles GUI que presenta Swing lo encontramos en las
Swing van ms all de las IFC, hasta el punto de que no hay un parecido
apreciable entre los componentes Swing y los de las IFC. Swing ofrece
distintivo de Swing
TEMARIO.
I INTRODUCCIN
CAPITULO I
Swing
1.1 historia
1.2 Ventajas - Desventajas
1.2 Eventos Swing
1.3 Modelos de componentes Swing
1.4 Descripcin de algunos componentes Swing
CAPITULO II
Layouts
2.1. Look &Feel
2.2. Otras nuevas caractersticas
2.3. Action
2.4. Modelos de datos y estados separados
2.5. Soporte para tecnologas asistivas
2.6. Applets en Swing
CAPITULO III
3.1. Herencia de Componentes y Contenedores
67
3.4. Manejo de eventos en Swing
4. Conclusiones
4.2 Recomendaciones
I. Bibliografa
II. Anexos.
68
ESTRATEGIAS METODOLGICAS.
Etapa de Mtodos
Tcnicas Resultados
investigacin Empricos Tericos
ANLISIS
DE LA Bases tericas
SITUACIN Analtico sinttico. Revisin por Internet de la
ACTUAL Investigacin.
Hipottico
Deductivo
69
Instrumentos.
Las Herramientas que se utilizarn en el Desarrollo de la Investigacin son:
El Internet, constituye la fuente y base fundamental de donde se extraer
la Informacin requerida.
El programa Netbeans 7.0, el mismo que nos ofrecer mayor soporte
Tcnico para el desarrollo del presente proyecto.
RECURSOS.
Recursos Humanos.
Catedrticos del Plantel.
Autor.
Recursos Tecnolgicos.
Recursos Materiales.
Computadora porttil
Netbeas 7.0 (win - linux)
tiles de oficina
Internet
70
Recursos Econmicos.
Para la realizacin del Presente Trabajo se destina los siguientes rubros:
Detalle Rubro
Equipo Porttil $ 600
tiles de Oficina $ 35
Consumo de internet prepago $ 35
Impresiones y Empastado $ 60
TOTAL 730
BIBLIOGRAFA.
71
CRONOGRAMA
LUN 31 LUN 28
LUN 17 A LUN 24 A LUN 7 A LUN 14 A LUN 21 A LUN 05 A
OCT A NOV A
VIE 21 DE VIE 28 DE VIE 11 DE VIE18 DE VIE 25 DE VIE 09 DE
VIE 21 DE VIE 2 DE
OCT OCT NOV NOV NOV DIC
NOV DIC
CAPITULO
I X X X X
CAPITULO
II X X X
CAPITULO
III X X X X X
72