SlideShare una empresa de Scribd logo
1 de 55
INSTITUTO TECNOLOGICO DE TUXTEPEC TOPICOS SELECTOS DE PROGRAMACION UNIDAD 4
TEMAS Unidad 4 Interfaz Grafica de Usuario (GUI) 4.1 Creación de interfaz grafica para usuarios 	4.1.1 Librería de Interfaz grafica (API’S) 	4.1.2 Aplicaciones GUI. 4.2 Computación Grafica  	4.2.1 Área de dibujo 	4.2.2 Primitivas de dibujo (Línea, arco, 	circulo, colores, rellenos, imágenes).
INTRODUCCIÓN
La interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user interface) es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador. Interfaz Grafica de Usuario (GUI)
 Interfaz Grafica de Usuario (GUI)
 Interfaz Grafica de Usuario (GUI)
 Interfaz Grafica de Usuario (GUI)
Interfaz Grafica de Usuario (GUI) Es también un conjunto de formas y métodos que posibilitan la interacción de un sistema con los usuarios utilizando formas gráficas e imágenes. Con formas gráficas se refiere a botones, íconos, ventanas, fuentes, etc. los cuales representan funciones, acciones e información.
Interfaz Grafica de Usuario (GUI) Surge como evolución de la línea de comandos de los primeros sistemas operativos y es pieza fundamental en un entorno gráfico.  Como ejemplo de interfaz GUI podemos citar el escritorio o desktop del sistema operativo Windows y el entorno X-Window de Linux.  El desarrollo de los entornos gráficos, que permitieron que las personas pudieran acceder a un PC sin tener que pasar por el tortuoso proceso de tener que aprender a manejar un entorno bajo línea de comandos.
Interfaz Grafica de Usuario (GUI) La interfaz gráfica de usuario es lo que tú y yo vemos cuando ejecutamos un programa en algún sistema operativo e interfaz gráfica, es decir, son las ventanas y los botones, los iconos, etc. En java, muchos applets y aplicaciones pueden desarrollarse explotando esta propiedad, esto se hace dentro del ambiente integrado de desarrollo de java cuando hemos abierto un archivo .java para la elaboración de algún proyecto (en concreto, me refiero a jbuilder).
Interfaz Grafica de Usuario (GUI) Ahí, facilmente, seleccionando la pestaña inferior design, creamos la interfaz arrastrando los botones y demás componentes de las barras de objetos que se encuentran en la parte superior del ambiente jbuilder.
4.1 Creación de interfaz grafica para usuarios
4.1 Creación de interfaz grafica para usuarios El Interfaz audioclip El interfaz AudioClipdefine los siguientes métodos: play ( ) (reproduce un clip desde el principio), stop ( ) (detiene la reproducción del clip), y loop ( ) (reproduce un fichero continuamente).Después de cargar un clip utilizando getAudioClip (), estos métodos se pueden usar para oírlo. La interfaz AppletStub Mediante el interfazAppletStub, se puede comunicar un applet y el navegador (o el visor de applets). Normalmente, no se suele utilizar este interfaz.
4.1 Creación de interfaz grafica para usuarios Salida de consola Aunque la salida a la ventana de un applet debe ser realizada atreves de métodos  AWT, tal como drawstring (), se puede utilizar en el applet, la salida de la consola, sobre todo para depurar. En un applet, cuando se llama a un método como System.out.println ( ), la salida no se envía a la ventana de applet, sino que aparece bien en la sesión de consola en la que está el visor de applets, o bien en la consola java que  está disponible en algunos navegadores. Se recomienda utilizar la salida a la consola únicamente para depurar y seguir asi los principios básicos de diseño que esperan la mayoría de los usuarios de interfaces graficas.
4.1 Creación de interfaz grafica para usuarios La interfaz ActionListener Esta interfaz define el método ationperformaed ( ) que se invoca cuando se da un evento de acción. Su forma general es la siguiente:  voidactionPerformed (ActionEventae) La interfaz AdjustmentListener Esta interfaz define el método adjustmentValueChanged ( ) que se invoca cuando se produce un evento de ajuste. Su forma general es la siguiente: VoidadjustmentValueChanged(AdjustmentEventae)   La interfaz ComponentListener Esta interfaz define cuatro métodos que se invocan cuando a un componente se le cambia el tamaño, se mueve, se muestra o se oculta. Sus formas generales son las siguientes: 
4.1 Creación de interfaz grafica para usuarios Void componentResized( componentEventce) Void componentMoved( componentEventce) Void componentShown( componentEventce) Void componentHidden( componentEventce) Nota: el AWT procesa los eventos de cambio de tamaño y de movimiento. Los métodos componentResized ( ) y componentMoved ( ) solo se proporcionan  como aviso.
4.1 Creación de interfaz grafica para usuarios La interfaz ContainerListener Esta interfaz tiene dos métodos. Cuando se añade un componente a un contenedor, se invoca a componentRemoved ( ). Sus formas generales son las siguientes:  Void componentAdded(ContainerEventce) Void componentRemoved(ContainerEventce)
4.1 Creación de interfaz grafica para usuarios La interfaz focusListener Esta interfaz define dos métodos. Cuando un componente obtiene el foco del teclado, se invoca FocusGained ( ). Cuando un componente pierde el foco del teclado, se llama a focusLost ( ).sus formas generales son las siguientes:   VoidfocusGained ( focusEvent fe ) VoidfocusLost (focusEvent fe)   La interfaz intemListener Esta interfaz define el método itemStatechanged ( ) que se invoca cuando cambia el estado de un elemento. Su forma general es la siguiente:   VoiditemStateChanged (ItemEventie)
4.1 Creación de interfaz grafica para usuarios La interfaz KeyListener Esta interfaz define tres métodos.los métodos keyPressed ( ) y keyRelased( ) se invocan cuando se presiona y se libera una tecla,respectivamente.el método keyTyped ( ) se invoca cuando se introduce un carácter. Por ejemplo, si un usuario presiona y libera la tecla A, se generan tres eventos en este orden: tecla presionada, carácter introducido, tecla liberada. Si un usuario presiona y libera la tecla INICIO, se generan dos eventos en este orden: tecla presionada, tecla liberada. Las formas generales de estos eventos son los siguientes: VoidkeyPreesed (keyEventke) VoidkeyReleased (keyEventke) VoidkeyTyped (keyEventke)
4.1 Creación de interfaz grafica para usuarios La interfaz MouseListener Esta interfaz define cinco métodos. Si se presiona y se libera el raton en el mismo punto, se invoca a mouseClicked ( ). Cuando el raton se introduce en un componente, se llama al método mouseEntered ( ). Cuando el raton sale del componente se llama a mouseExited ( ). Los métodos mousePressed ( ) se invocan cuando se presiona y se libera el ratón, respectivamente. Las formas generales de estos métodos son las siguientes: VoidmouseClicked (mouseEvent me) VoidmouseEntered (mouseEvent me) VoidmouseExited (mouseEvent me) VoidmousePressed (mouseEvent me) VoidmouseReleased(mouseEvent me)
4.1 Creación de interfaz grafica para usuarios La interfaz MouseMotionListener( ) y mouseReleased Esta interfaz define dos métodos. Al método mousedragged ( ) se le llama tantas veces como se arrastre al ratón. Al método mouseMoved ( ) se le llama tantas veces como se mueva el ratón. Sus formas generales son las siguientes: Void mousedragged(mouseEvent ) Void mouseMoved ( MouseEvent me)   La interfaz TextListener Esta interfaz define el método textChanged ( ) que se invoca cuando hay un cambio en una area de texto o en campo de texto. Su forma general es la siguiente: VoidtexChanged (TextEvent te)
interfaces de auditor que mas se utilizan
interfaces de auditor que mas se utilizan
4.1.1 Librería de interfaz grafica para usuarios La utilización de objetos dinámicos supone dejar pendiente en el montaje de la aplicación el enlace de dichos objetos. Cuando la aplicación esta en ejecución, y solo entonces, se produce el enlace (dinamicbinding) con los objetos contenidos en la librería. La creación de librerías dinámicas corre a cargo del enlazador o montador (en nuestro caso el ld) aunque también es posible indicar al compilador  las opciones necesarias para el montaje y de ese modo, será el quien se encargue de pasárselas al montador.
4.1.1 Librería de interfaz grafica para usuarios creación de una librería dinamica. Cuando se crea un objeto dinámico es necesario que dicho código objeto sea independiente de la posición, para conseguir este tipo de código debe especificarse al compilador la opción –fPIC (Position Independentcode). Dicho flag debe indicarse tanto en la compilación como en el montaje de la librería. $gcc –fPIC –c-o fich1.o fich1.c $gcc –fPIC –c –o fich2.o fich2.c
4.1.1 Librería de interfaz grafica para usuarios Para montar los objetos es necesario además indicar la opción –shared para que el resultado sea un fichero objeto ‘compartible’.  $gcc –shared –fPIC –o libfich.so fich1.o fich2.o Para compilar la librería dinámica puede utilizarse un makefile como este: CC=gcc CFLAGS=-Wall –ggdb –fPIC LDFLAGS=-fPIC –shared Libfich.so: fich1.o fich2.o $(CC) $(LDFLAGS) –o$@$ˆ En este caso, la librería tiene como extensión .so que significa sharedobject.
4.1.1 Librería de interfaz grafica para usuarios uso de una librería dinámica. Para utilizar esta librería desde un programa no hay que hacer nada adicional; es exactamente igual que en el caso de la librería estática. Al hacer uso de una librería, el compilador busca primero una versión dinámica (.so), si no la encuentra entonces busca la versión estática. Si se tienen las dos versiones de una librería y se quiere utilizar la versión estática debe indicarse al montador el flag –static. Cuando un programa utiliza librerías dinámicas, el a sistema necesita localizarlas en tiempo de ejecución (al contrario que con las librerías estáticas). Los lugares donde un programa busca las librerías dinámicas son los siguientes (en este orden):
4.1.1 Librería de interfaz grafica para usuarios En los directorios de la variable LD_LIBRARY_PATH. En el fichero Id.so.cache. En los directorios /usr/lib y /lib. En los directorios contenidos en el fichero Id.so.conf. Si el programa no encuentra la librería que necesita imprimirá un mensaje de error con el siguiente aspecto: $ ./apli1 Apli1:error in loading shared libraries: libfich.so: cannot open shared object file: No such file or directory Normalmente, lo mas adecuado, es utilizar la variable de entorno LD_LIBRARY_PATH para indicar en que directorios debe buscar: $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/dir_lib De este modo deberá funcionar correctamente.
4.1.2 Aplicaciones GUI Aplicación GUI Entendemos como aplicación GUI (GraphicUser Interface) a toda aquella que tiene interfaz gráfica Windows, compuesta básicamente por los objetos transacciones, workpanels, procedimientos y reportes, generadas con los generadores GeneXus Visual Basic, Visual Fox,  Java y .Net.  
4.1.2 Aplicaciones GUI Aplicación Web Unaaplicación Full Web tieneunainterfaz HTML (HyperText Markup Language) y se ejecutadentro de un browser. Este tipo de aplicaciones se desarrollabásicamente con los objetos Web de GeneXus: web panels y web transactions. Se generan con cualquiera de los generadores Web: Visual Basic, Java, .Net y C/SQL
4.1.2 Aplicaciones GUI Reingeniería de la aplicación La premisa fundamental para convertir un aplicación WIN a WEB  es que los ambientes implicados (gráfico, html) son diferentes y por lo tanto la conversión implicará algo mas que la mera conversión de los objetos. Deberá programarse con “estilo web”.  
4.2 Computación Grafica
4.2 Computación Grafica La computación gráfica o gráficos por ordenador es el campo de la informática visual, donde se utilizan computadoras tanto para generar imágenes visuales sintéticamente como integrar o cambiar la información visual y espacial probada del mundo real.
4.2 Computación Grafica Aplicaciones de la Computación Gráfica  Actualmente existen muchas aplicaciones, en diversos campos de la ingeniería e investigación científica, que demandan una gran cantidad de recursos computacionales. La Computación Gráfica cubre áreas muy diversas, que abarcan desde la visualización científica o ingeniería hasta el arte y el tratamiento fotográfico.
4.2 Computación Grafica Interfaces Gráficas de Usuario (GUI: GraphicalUser Interface)   Gráficos estadísticos   Cartografía   Medicina   Diseño Asistido por Computadora (CAD: Computer-AidedDesign)   Multimedios (educativos)   Entretenimiento (juegos)    Arte
4.2.1 Área de Dibujo El control DrawingArea (Área de Dibujo) proporciona un lienzo en el que poder dibujar de forma sencilla haciendo uso de los métodos de la clase gtk.gdk.Drawable (“dibujable”). Un control DrawingAreaen realidad encapsula un elemento del tipo gtk.gdk.Window (ventana), que es una subclase de gtk.gdk.Drawable (al igual que gtk.gdk.Pixmap).
4.2.1 Área de Dibujo Para crear un Área de Dibujo se utiliza la función:  drawing_area = gtk.DrawingArea() Los elementos Drawing Area (Área de Dibujo) se crean inicialmente con un tamaño de (0,0), por lo que es necesario usar el siguiente método para poder hacer visible el Área de Dibujo (drawing_area) asignándole un ancho y una altura distintas de cero:
4.2.1 Área de Dibujo Trabajos con gráficos El AWT tiene una amplia variedad de métodos gráficos. Todos los gráficos se dibujan en una ventana, que puede ser la ventana principal en un applet, una ventana hija de un applet, o una ventana de aplicación independiente. El origen (0,0) de cada ventana está en la esquina superior izquierda. Las coordenadas vienen en pixeles. Todas las salidas sobre una ventana tienen lugar a través de un contexto grafico.
4.2.1 Área de Dibujo Contexto grafico esta encapsulado en la clase Graphics y se obtiene de  dos maneras: Se pasa a un applet cuando se llama a alguno de sus métodos, como paint () o update (). Es devuelto por el método getGraphics () de component.
4.2.2 Primitivas de Dibujo ,[object Object],Las líneas se dibujan con el método drawLine (), que tiene el siguiente formato:    void drawLine (int start X, int start Y, int end X, int end Y)   drawLine () dibuja una linea con el color con el cursor de dibujo, que comienza en start X, start Y y termina en end X, end Y.
4.2.2 Primitivas de Dibujo ,[object Object],El arco esta encajado en un rectángulo cuya esquina superior izquierda viene dada por top,lefty cuya anchura y altura son widthy heingth. El arco se dibuja desde starAnglehasta el anguloSweepAngle. La Elipse se dibuja dentro de un rectángulo cuya esquina superior viene dada por top,lefty cuya anchura y altura son widthy heingth.
4.2.2 Primitivas de Dibujo ,[object Object],Los métodos drawRest () y fillRect () dibujan un rectángulo solo con el borde o relleno respectivamente tiene el siguiente formato: void dawRest (int top, int left, int width, inthiegth) 	void fillRect (int top, int left, int width, inthiegth) la esquina superior izquierda del rectángulo está en la posición top left. Las dimensiones del rectángulo las especifican width y heigth.
4.2.2 Primitivas de Dibujo Para dibujar un rectángulo redondeado e usan los métodos drawRoundRect() o fillRoundRect(), que tienen el siguiente formato: void drawRoundRect (int top, int left, int width, inthiegth, intxDiam, intyDiam) void fillRoundRect (int top, int left, int width, inthiegth, intxDiam, intyDiam)
4.2.2 Primitivas de Dibujo ,[object Object],Para dibujar un elipse se utilice el método drawOvall(), y para un elipse rellena, el método fillOvall().Tiene el siguiente formato: void drawOval(int top, int width, int height) void fillOval(int top, int width, int height)  
4.2.2 Primitivas de Dibujo ,[object Object],También se pueden dibujar figuras con formas arbitrarias utilizando los métodos drawPolygon() y fülPoIygon(), que tienen el siguiente formato: voiddrawPolygon(intx[ ], int y[ ], intnumPoints) voidfillPolygon(intx[ ], int y[ ], intnumPoints)
4.2.2 Primitivas de Dibujo Los vértices del polígono están especificados por las parejas de coordenadas que vienen en los arraysx e y. El número de puntos definidos por x e y está especificado en numPoints. Estos métodos tienen formas alternativas en las que el polígono está especificado por un objeto Polygon. El siguiente applet dibuja un polígono con forma de reloj
4.2.2 Primitivas de Dibujo Establecer El Modo De Pintar El modo de pintar determina cómo se dibujan los objetos en una ventana. Por defecto, cada nueva salida que se realiza a una ventana se superpone al contenido de lo que hubiese en la anterior. Sin embargo, es posible tener sobre la ventana nuevos objetos en modo XOR utilizando el método setXORMode(),
4.2.2 Primitivas de Dibujo 		Trabajar con color Java trabaja con el color mediante una forma independiente del dispositivo, y portátil. El sistema de color del AWT permite especificar cualquier color. Para ello se buscar el color que mas se ajuste al solicitado, teniendo en cuenta las limitaciones del hardware de visualización(monitor, etc.)en el que se está ejecutando el programa o el applet. De ésta manera, el código no tiene que preocuparse de cómo trata cada dispositivo gráfico de colores.
4.2.2 Primitivas de Dibujo El color se encapsula en la clase Color. Color define varias constantes(por ej. Color.black)para espeficar un conjunto de colores comunes.También puede crear sus propios colores utilizando uno de los constructores de color.Las formas que más se utilizan son las sigs: Color(intread, intgreen, intblue) Color(intrgbValue) Color(float red, floatgreen, floatblue)
4.2.2 Primitivas de Dibujo El primer constructor toma tres enteros que especifican el color como una mezcla de rojo, verde y azul. Esos valores deben estar entre 0 y 255, como en el sig. Ej. newColor(255,100,100); El segundo constructor de color toma un solo entero que ya contiene la mezcla del rojo, verde y azul. En este entero, el rojo esta entre los bits 16 y 23, el verde entre el 8 y el 15, y el azul entre los bits 0 y 7. Ej. De Constructor: intnuevoRojo=(0xff000000 | (0xc0<<16) | (0x00<<8)10x00); Color rojoOscuro=newColor(nuevoRojo);
4.2.2 Primitivas de Dibujo El ultimo constructor, color(float,float,float), toma tres valores flotantes(entre 0.0 y 1.0)que especifican la mezcla del rojo,verde y azul. Una vez que se ha creado el color, lo podemos utilizar para establecer el color del frente y/o el de fondo utilizando los métodos setForeground() y setBackground(). También se puede seleccionar el color creado como el color de dibujo actual.
4.2.2 Primitivas de Dibujo Métodos De La Clase Color La clase Color define varios métodos para manipular los colores: Uso Del Matriz (Hue), La Saturacion(saturation), Y El Brillo(brightness)
Fuentes de Información ,[object Object]
http://es.wikipedia.org/wiki/Computaci%C3%B3n_gr%C3%A1fica
http://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuario,[object Object]

Más contenido relacionado

La actualidad más candente

Diapositivas sobre AWT
Diapositivas sobre AWTDiapositivas sobre AWT
Diapositivas sobre AWTLaddy Mathita
 
Guis en java-1pp_2012_
Guis en java-1pp_2012_Guis en java-1pp_2012_
Guis en java-1pp_2012_Robert Wolf
 
Comparacion swing & awt..
Comparacion swing & awt..Comparacion swing & awt..
Comparacion swing & awt..paulacas
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Omar B.
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing Laura
 
Entorno de desarrollo de visual basic 6.0
Entorno de desarrollo de visual basic 6.0Entorno de desarrollo de visual basic 6.0
Entorno de desarrollo de visual basic 6.0Miguel Pacho
 
Gui interfaz gráfica de usuario javax.swing y java.awt
Gui interfaz gráfica  de usuario javax.swing y java.awtGui interfaz gráfica  de usuario javax.swing y java.awt
Gui interfaz gráfica de usuario javax.swing y java.awtcarlosAhumada_12
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swingmrojas_unitec
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Herramientas de des. de soft.
Herramientas de des. de soft.Herramientas de des. de soft.
Herramientas de des. de soft.Te Amo Gabriel
 

La actualidad más candente (18)

Diapositivas sobre AWT
Diapositivas sobre AWTDiapositivas sobre AWT
Diapositivas sobre AWT
 
Guis en java-1pp_2012_
Guis en java-1pp_2012_Guis en java-1pp_2012_
Guis en java-1pp_2012_
 
Programacion_II_introduccion_GUI
Programacion_II_introduccion_GUIProgramacion_II_introduccion_GUI
Programacion_II_introduccion_GUI
 
Android
AndroidAndroid
Android
 
Visual basic 6.0
Visual basic 6.0Visual basic 6.0
Visual basic 6.0
 
Swing
SwingSwing
Swing
 
Comparacion swing & awt..
Comparacion swing & awt..Comparacion swing & awt..
Comparacion swing & awt..
 
Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)Interfaz gráfica de usuario y eventos (introducción)
Interfaz gráfica de usuario y eventos (introducción)
 
Java GUI La librería Swing
Java GUI La librería Swing Java GUI La librería Swing
Java GUI La librería Swing
 
Entorno de desarrollo de visual basic 6.0
Entorno de desarrollo de visual basic 6.0Entorno de desarrollo de visual basic 6.0
Entorno de desarrollo de visual basic 6.0
 
Programacion.....swing
Programacion.....swingProgramacion.....swing
Programacion.....swing
 
Tema6resumido
Tema6resumidoTema6resumido
Tema6resumido
 
Gui interfaz gráfica de usuario javax.swing y java.awt
Gui interfaz gráfica  de usuario javax.swing y java.awtGui interfaz gráfica  de usuario javax.swing y java.awt
Gui interfaz gráfica de usuario javax.swing y java.awt
 
Generalidades de visual basic 8
Generalidades de visual basic 8Generalidades de visual basic 8
Generalidades de visual basic 8
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swing
 
JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)JAVA Interfaz gráfica (GUI)
JAVA Interfaz gráfica (GUI)
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Herramientas de des. de soft.
Herramientas de des. de soft.Herramientas de des. de soft.
Herramientas de des. de soft.
 

Destacado

La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitAlex Fuentes
 
Cuadro comparativo herramientas para realizar ovas
Cuadro comparativo herramientas para realizar ovasCuadro comparativo herramientas para realizar ovas
Cuadro comparativo herramientas para realizar ovasLuis Davila Hernandez
 
Interfaz Gráfica de Usuario
Interfaz Gráfica de UsuarioInterfaz Gráfica de Usuario
Interfaz Gráfica de UsuarioAntonio Albanés
 
CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)Arturo Salinas
 
Diseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoDiseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoadrianazamora
 
Cómo hacer cuadros comparativos
Cómo hacer cuadros comparativosCómo hacer cuadros comparativos
Cómo hacer cuadros comparativosbartterron1971
 

Destacado (8)

2 ada 1
2 ada 12 ada 1
2 ada 1
 
Elemento 2
Elemento 2Elemento 2
Elemento 2
 
La web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo ToolkitLa web como Plataforma con Dojo Toolkit
La web como Plataforma con Dojo Toolkit
 
Cuadro comparativo herramientas para realizar ovas
Cuadro comparativo herramientas para realizar ovasCuadro comparativo herramientas para realizar ovas
Cuadro comparativo herramientas para realizar ovas
 
Interfaz Gráfica de Usuario
Interfaz Gráfica de UsuarioInterfaz Gráfica de Usuario
Interfaz Gráfica de Usuario
 
CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)
 
Diseño de interfaz importancia y proceso
Diseño de interfaz importancia y procesoDiseño de interfaz importancia y proceso
Diseño de interfaz importancia y proceso
 
Cómo hacer cuadros comparativos
Cómo hacer cuadros comparativosCómo hacer cuadros comparativos
Cómo hacer cuadros comparativos
 

Similar a Diapos de topicos (20)

Applets
AppletsApplets
Applets
 
Programación en Java: Applets
Programación en Java: AppletsProgramación en Java: Applets
Programación en Java: Applets
 
Applets
AppletsApplets
Applets
 
Interfaces Usuario 3
Interfaces Usuario 3Interfaces Usuario 3
Interfaces Usuario 3
 
Swing j button, jcheck box y jradiobutton
Swing j button, jcheck box y jradiobuttonSwing j button, jcheck box y jradiobutton
Swing j button, jcheck box y jradiobutton
 
Graficas matlab
Graficas matlabGraficas matlab
Graficas matlab
 
Swin01
Swin01Swin01
Swin01
 
03 interfaces gráficas awt
03   interfaces gráficas awt03   interfaces gráficas awt
03 interfaces gráficas awt
 
Swing intefaz grafica de usuario
Swing intefaz grafica de usuarioSwing intefaz grafica de usuario
Swing intefaz grafica de usuario
 
autocad 2D clase 1.pdf
autocad 2D  clase 1.pdfautocad 2D  clase 1.pdf
autocad 2D clase 1.pdf
 
Programa voz
Programa vozPrograma voz
Programa voz
 
Matlab
MatlabMatlab
Matlab
 
Matlab
MatlabMatlab
Matlab
 
Informe de eventos topicos avanzados de programacion.
Informe de eventos topicos avanzados de programacion.Informe de eventos topicos avanzados de programacion.
Informe de eventos topicos avanzados de programacion.
 
Mi dlet
Mi dletMi dlet
Mi dlet
 
Clases de Programación Android
Clases de Programación AndroidClases de Programación Android
Clases de Programación Android
 
Taller de programación
Taller de programaciónTaller de programación
Taller de programación
 
Plataforma moviles ernesto horna
Plataforma moviles ernesto hornaPlataforma moviles ernesto horna
Plataforma moviles ernesto horna
 
Visual Basic
Visual BasicVisual Basic
Visual Basic
 
Visual
VisualVisual
Visual
 

Último

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 

Último (20)

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 

Diapos de topicos

  • 1. INSTITUTO TECNOLOGICO DE TUXTEPEC TOPICOS SELECTOS DE PROGRAMACION UNIDAD 4
  • 2. TEMAS Unidad 4 Interfaz Grafica de Usuario (GUI) 4.1 Creación de interfaz grafica para usuarios 4.1.1 Librería de Interfaz grafica (API’S) 4.1.2 Aplicaciones GUI. 4.2 Computación Grafica 4.2.1 Área de dibujo 4.2.2 Primitivas de dibujo (Línea, arco, circulo, colores, rellenos, imágenes).
  • 4. La interfaz gráfica de usuario, conocida también como GUI (del inglés graphical user interface) es un programa informático que actúa de interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para representar la información y acciones disponibles en la interfaz. Su principal uso, consiste en proporcionar un entorno visual sencillo para permitir la comunicación con el sistema operativo de una máquina o computador. Interfaz Grafica de Usuario (GUI)
  • 5. Interfaz Grafica de Usuario (GUI)
  • 6. Interfaz Grafica de Usuario (GUI)
  • 7. Interfaz Grafica de Usuario (GUI)
  • 8. Interfaz Grafica de Usuario (GUI) Es también un conjunto de formas y métodos que posibilitan la interacción de un sistema con los usuarios utilizando formas gráficas e imágenes. Con formas gráficas se refiere a botones, íconos, ventanas, fuentes, etc. los cuales representan funciones, acciones e información.
  • 9. Interfaz Grafica de Usuario (GUI) Surge como evolución de la línea de comandos de los primeros sistemas operativos y es pieza fundamental en un entorno gráfico. Como ejemplo de interfaz GUI podemos citar el escritorio o desktop del sistema operativo Windows y el entorno X-Window de Linux. El desarrollo de los entornos gráficos, que permitieron que las personas pudieran acceder a un PC sin tener que pasar por el tortuoso proceso de tener que aprender a manejar un entorno bajo línea de comandos.
  • 10. Interfaz Grafica de Usuario (GUI) La interfaz gráfica de usuario es lo que tú y yo vemos cuando ejecutamos un programa en algún sistema operativo e interfaz gráfica, es decir, son las ventanas y los botones, los iconos, etc. En java, muchos applets y aplicaciones pueden desarrollarse explotando esta propiedad, esto se hace dentro del ambiente integrado de desarrollo de java cuando hemos abierto un archivo .java para la elaboración de algún proyecto (en concreto, me refiero a jbuilder).
  • 11. Interfaz Grafica de Usuario (GUI) Ahí, facilmente, seleccionando la pestaña inferior design, creamos la interfaz arrastrando los botones y demás componentes de las barras de objetos que se encuentran en la parte superior del ambiente jbuilder.
  • 12. 4.1 Creación de interfaz grafica para usuarios
  • 13. 4.1 Creación de interfaz grafica para usuarios El Interfaz audioclip El interfaz AudioClipdefine los siguientes métodos: play ( ) (reproduce un clip desde el principio), stop ( ) (detiene la reproducción del clip), y loop ( ) (reproduce un fichero continuamente).Después de cargar un clip utilizando getAudioClip (), estos métodos se pueden usar para oírlo. La interfaz AppletStub Mediante el interfazAppletStub, se puede comunicar un applet y el navegador (o el visor de applets). Normalmente, no se suele utilizar este interfaz.
  • 14. 4.1 Creación de interfaz grafica para usuarios Salida de consola Aunque la salida a la ventana de un applet debe ser realizada atreves de métodos AWT, tal como drawstring (), se puede utilizar en el applet, la salida de la consola, sobre todo para depurar. En un applet, cuando se llama a un método como System.out.println ( ), la salida no se envía a la ventana de applet, sino que aparece bien en la sesión de consola en la que está el visor de applets, o bien en la consola java que está disponible en algunos navegadores. Se recomienda utilizar la salida a la consola únicamente para depurar y seguir asi los principios básicos de diseño que esperan la mayoría de los usuarios de interfaces graficas.
  • 15. 4.1 Creación de interfaz grafica para usuarios La interfaz ActionListener Esta interfaz define el método ationperformaed ( ) que se invoca cuando se da un evento de acción. Su forma general es la siguiente: voidactionPerformed (ActionEventae) La interfaz AdjustmentListener Esta interfaz define el método adjustmentValueChanged ( ) que se invoca cuando se produce un evento de ajuste. Su forma general es la siguiente: VoidadjustmentValueChanged(AdjustmentEventae)   La interfaz ComponentListener Esta interfaz define cuatro métodos que se invocan cuando a un componente se le cambia el tamaño, se mueve, se muestra o se oculta. Sus formas generales son las siguientes: 
  • 16. 4.1 Creación de interfaz grafica para usuarios Void componentResized( componentEventce) Void componentMoved( componentEventce) Void componentShown( componentEventce) Void componentHidden( componentEventce) Nota: el AWT procesa los eventos de cambio de tamaño y de movimiento. Los métodos componentResized ( ) y componentMoved ( ) solo se proporcionan como aviso.
  • 17. 4.1 Creación de interfaz grafica para usuarios La interfaz ContainerListener Esta interfaz tiene dos métodos. Cuando se añade un componente a un contenedor, se invoca a componentRemoved ( ). Sus formas generales son las siguientes: Void componentAdded(ContainerEventce) Void componentRemoved(ContainerEventce)
  • 18. 4.1 Creación de interfaz grafica para usuarios La interfaz focusListener Esta interfaz define dos métodos. Cuando un componente obtiene el foco del teclado, se invoca FocusGained ( ). Cuando un componente pierde el foco del teclado, se llama a focusLost ( ).sus formas generales son las siguientes:   VoidfocusGained ( focusEvent fe ) VoidfocusLost (focusEvent fe)   La interfaz intemListener Esta interfaz define el método itemStatechanged ( ) que se invoca cuando cambia el estado de un elemento. Su forma general es la siguiente:   VoiditemStateChanged (ItemEventie)
  • 19. 4.1 Creación de interfaz grafica para usuarios La interfaz KeyListener Esta interfaz define tres métodos.los métodos keyPressed ( ) y keyRelased( ) se invocan cuando se presiona y se libera una tecla,respectivamente.el método keyTyped ( ) se invoca cuando se introduce un carácter. Por ejemplo, si un usuario presiona y libera la tecla A, se generan tres eventos en este orden: tecla presionada, carácter introducido, tecla liberada. Si un usuario presiona y libera la tecla INICIO, se generan dos eventos en este orden: tecla presionada, tecla liberada. Las formas generales de estos eventos son los siguientes: VoidkeyPreesed (keyEventke) VoidkeyReleased (keyEventke) VoidkeyTyped (keyEventke)
  • 20. 4.1 Creación de interfaz grafica para usuarios La interfaz MouseListener Esta interfaz define cinco métodos. Si se presiona y se libera el raton en el mismo punto, se invoca a mouseClicked ( ). Cuando el raton se introduce en un componente, se llama al método mouseEntered ( ). Cuando el raton sale del componente se llama a mouseExited ( ). Los métodos mousePressed ( ) se invocan cuando se presiona y se libera el ratón, respectivamente. Las formas generales de estos métodos son las siguientes: VoidmouseClicked (mouseEvent me) VoidmouseEntered (mouseEvent me) VoidmouseExited (mouseEvent me) VoidmousePressed (mouseEvent me) VoidmouseReleased(mouseEvent me)
  • 21. 4.1 Creación de interfaz grafica para usuarios La interfaz MouseMotionListener( ) y mouseReleased Esta interfaz define dos métodos. Al método mousedragged ( ) se le llama tantas veces como se arrastre al ratón. Al método mouseMoved ( ) se le llama tantas veces como se mueva el ratón. Sus formas generales son las siguientes: Void mousedragged(mouseEvent ) Void mouseMoved ( MouseEvent me)   La interfaz TextListener Esta interfaz define el método textChanged ( ) que se invoca cuando hay un cambio en una area de texto o en campo de texto. Su forma general es la siguiente: VoidtexChanged (TextEvent te)
  • 22. interfaces de auditor que mas se utilizan
  • 23. interfaces de auditor que mas se utilizan
  • 24. 4.1.1 Librería de interfaz grafica para usuarios La utilización de objetos dinámicos supone dejar pendiente en el montaje de la aplicación el enlace de dichos objetos. Cuando la aplicación esta en ejecución, y solo entonces, se produce el enlace (dinamicbinding) con los objetos contenidos en la librería. La creación de librerías dinámicas corre a cargo del enlazador o montador (en nuestro caso el ld) aunque también es posible indicar al compilador las opciones necesarias para el montaje y de ese modo, será el quien se encargue de pasárselas al montador.
  • 25. 4.1.1 Librería de interfaz grafica para usuarios creación de una librería dinamica. Cuando se crea un objeto dinámico es necesario que dicho código objeto sea independiente de la posición, para conseguir este tipo de código debe especificarse al compilador la opción –fPIC (Position Independentcode). Dicho flag debe indicarse tanto en la compilación como en el montaje de la librería. $gcc –fPIC –c-o fich1.o fich1.c $gcc –fPIC –c –o fich2.o fich2.c
  • 26. 4.1.1 Librería de interfaz grafica para usuarios Para montar los objetos es necesario además indicar la opción –shared para que el resultado sea un fichero objeto ‘compartible’. $gcc –shared –fPIC –o libfich.so fich1.o fich2.o Para compilar la librería dinámica puede utilizarse un makefile como este: CC=gcc CFLAGS=-Wall –ggdb –fPIC LDFLAGS=-fPIC –shared Libfich.so: fich1.o fich2.o $(CC) $(LDFLAGS) –o$@$ˆ En este caso, la librería tiene como extensión .so que significa sharedobject.
  • 27. 4.1.1 Librería de interfaz grafica para usuarios uso de una librería dinámica. Para utilizar esta librería desde un programa no hay que hacer nada adicional; es exactamente igual que en el caso de la librería estática. Al hacer uso de una librería, el compilador busca primero una versión dinámica (.so), si no la encuentra entonces busca la versión estática. Si se tienen las dos versiones de una librería y se quiere utilizar la versión estática debe indicarse al montador el flag –static. Cuando un programa utiliza librerías dinámicas, el a sistema necesita localizarlas en tiempo de ejecución (al contrario que con las librerías estáticas). Los lugares donde un programa busca las librerías dinámicas son los siguientes (en este orden):
  • 28. 4.1.1 Librería de interfaz grafica para usuarios En los directorios de la variable LD_LIBRARY_PATH. En el fichero Id.so.cache. En los directorios /usr/lib y /lib. En los directorios contenidos en el fichero Id.so.conf. Si el programa no encuentra la librería que necesita imprimirá un mensaje de error con el siguiente aspecto: $ ./apli1 Apli1:error in loading shared libraries: libfich.so: cannot open shared object file: No such file or directory Normalmente, lo mas adecuado, es utilizar la variable de entorno LD_LIBRARY_PATH para indicar en que directorios debe buscar: $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/dir_lib De este modo deberá funcionar correctamente.
  • 29. 4.1.2 Aplicaciones GUI Aplicación GUI Entendemos como aplicación GUI (GraphicUser Interface) a toda aquella que tiene interfaz gráfica Windows, compuesta básicamente por los objetos transacciones, workpanels, procedimientos y reportes, generadas con los generadores GeneXus Visual Basic, Visual Fox,  Java y .Net.  
  • 30. 4.1.2 Aplicaciones GUI Aplicación Web Unaaplicación Full Web tieneunainterfaz HTML (HyperText Markup Language) y se ejecutadentro de un browser. Este tipo de aplicaciones se desarrollabásicamente con los objetos Web de GeneXus: web panels y web transactions. Se generan con cualquiera de los generadores Web: Visual Basic, Java, .Net y C/SQL
  • 31. 4.1.2 Aplicaciones GUI Reingeniería de la aplicación La premisa fundamental para convertir un aplicación WIN a WEB  es que los ambientes implicados (gráfico, html) son diferentes y por lo tanto la conversión implicará algo mas que la mera conversión de los objetos. Deberá programarse con “estilo web”.  
  • 33. 4.2 Computación Grafica La computación gráfica o gráficos por ordenador es el campo de la informática visual, donde se utilizan computadoras tanto para generar imágenes visuales sintéticamente como integrar o cambiar la información visual y espacial probada del mundo real.
  • 34. 4.2 Computación Grafica Aplicaciones de la Computación Gráfica Actualmente existen muchas aplicaciones, en diversos campos de la ingeniería e investigación científica, que demandan una gran cantidad de recursos computacionales. La Computación Gráfica cubre áreas muy diversas, que abarcan desde la visualización científica o ingeniería hasta el arte y el tratamiento fotográfico.
  • 35. 4.2 Computación Grafica Interfaces Gráficas de Usuario (GUI: GraphicalUser Interface) Gráficos estadísticos  Cartografía Medicina  Diseño Asistido por Computadora (CAD: Computer-AidedDesign) Multimedios (educativos) Entretenimiento (juegos)   Arte
  • 36. 4.2.1 Área de Dibujo El control DrawingArea (Área de Dibujo) proporciona un lienzo en el que poder dibujar de forma sencilla haciendo uso de los métodos de la clase gtk.gdk.Drawable (“dibujable”). Un control DrawingAreaen realidad encapsula un elemento del tipo gtk.gdk.Window (ventana), que es una subclase de gtk.gdk.Drawable (al igual que gtk.gdk.Pixmap).
  • 37. 4.2.1 Área de Dibujo Para crear un Área de Dibujo se utiliza la función: drawing_area = gtk.DrawingArea() Los elementos Drawing Area (Área de Dibujo) se crean inicialmente con un tamaño de (0,0), por lo que es necesario usar el siguiente método para poder hacer visible el Área de Dibujo (drawing_area) asignándole un ancho y una altura distintas de cero:
  • 38. 4.2.1 Área de Dibujo Trabajos con gráficos El AWT tiene una amplia variedad de métodos gráficos. Todos los gráficos se dibujan en una ventana, que puede ser la ventana principal en un applet, una ventana hija de un applet, o una ventana de aplicación independiente. El origen (0,0) de cada ventana está en la esquina superior izquierda. Las coordenadas vienen en pixeles. Todas las salidas sobre una ventana tienen lugar a través de un contexto grafico.
  • 39. 4.2.1 Área de Dibujo Contexto grafico esta encapsulado en la clase Graphics y se obtiene de dos maneras: Se pasa a un applet cuando se llama a alguno de sus métodos, como paint () o update (). Es devuelto por el método getGraphics () de component.
  • 40.
  • 41.
  • 42.
  • 43. 4.2.2 Primitivas de Dibujo Para dibujar un rectángulo redondeado e usan los métodos drawRoundRect() o fillRoundRect(), que tienen el siguiente formato: void drawRoundRect (int top, int left, int width, inthiegth, intxDiam, intyDiam) void fillRoundRect (int top, int left, int width, inthiegth, intxDiam, intyDiam)
  • 44.
  • 45.
  • 46. 4.2.2 Primitivas de Dibujo Los vértices del polígono están especificados por las parejas de coordenadas que vienen en los arraysx e y. El número de puntos definidos por x e y está especificado en numPoints. Estos métodos tienen formas alternativas en las que el polígono está especificado por un objeto Polygon. El siguiente applet dibuja un polígono con forma de reloj
  • 47. 4.2.2 Primitivas de Dibujo Establecer El Modo De Pintar El modo de pintar determina cómo se dibujan los objetos en una ventana. Por defecto, cada nueva salida que se realiza a una ventana se superpone al contenido de lo que hubiese en la anterior. Sin embargo, es posible tener sobre la ventana nuevos objetos en modo XOR utilizando el método setXORMode(),
  • 48. 4.2.2 Primitivas de Dibujo Trabajar con color Java trabaja con el color mediante una forma independiente del dispositivo, y portátil. El sistema de color del AWT permite especificar cualquier color. Para ello se buscar el color que mas se ajuste al solicitado, teniendo en cuenta las limitaciones del hardware de visualización(monitor, etc.)en el que se está ejecutando el programa o el applet. De ésta manera, el código no tiene que preocuparse de cómo trata cada dispositivo gráfico de colores.
  • 49. 4.2.2 Primitivas de Dibujo El color se encapsula en la clase Color. Color define varias constantes(por ej. Color.black)para espeficar un conjunto de colores comunes.También puede crear sus propios colores utilizando uno de los constructores de color.Las formas que más se utilizan son las sigs: Color(intread, intgreen, intblue) Color(intrgbValue) Color(float red, floatgreen, floatblue)
  • 50. 4.2.2 Primitivas de Dibujo El primer constructor toma tres enteros que especifican el color como una mezcla de rojo, verde y azul. Esos valores deben estar entre 0 y 255, como en el sig. Ej. newColor(255,100,100); El segundo constructor de color toma un solo entero que ya contiene la mezcla del rojo, verde y azul. En este entero, el rojo esta entre los bits 16 y 23, el verde entre el 8 y el 15, y el azul entre los bits 0 y 7. Ej. De Constructor: intnuevoRojo=(0xff000000 | (0xc0<<16) | (0x00<<8)10x00); Color rojoOscuro=newColor(nuevoRojo);
  • 51. 4.2.2 Primitivas de Dibujo El ultimo constructor, color(float,float,float), toma tres valores flotantes(entre 0.0 y 1.0)que especifican la mezcla del rojo,verde y azul. Una vez que se ha creado el color, lo podemos utilizar para establecer el color del frente y/o el de fondo utilizando los métodos setForeground() y setBackground(). También se puede seleccionar el color creado como el color de dibujo actual.
  • 52. 4.2.2 Primitivas de Dibujo Métodos De La Clase Color La clase Color define varios métodos para manipular los colores: Uso Del Matriz (Hue), La Saturacion(saturation), Y El Brillo(brightness)
  • 53.
  • 55.