SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
CAPITULO 
VII 
DISEÑA E IMPLEMENTA APLICACIONES PARA EL TRATAMIENTO DE FIGURAS, IMÁGENES Y TEXTOS EN DOS DIMENSIONES (JAVA 2D) INTERFACE DE USUARIO 
La interface de usuario es la parte del programa que permite a éste interactuar con el usuario. Las interfaces de usuario pueden adoptar muchas formas, que van desde la simple línea de comandos hasta las interfaces gráficas que proporcionan las aplicaciones más modernas. 
La interface de usuario es el aspecto más importante de cualquier aplicación. Una aplicación sin un interfaz fácil, impide que los usuarios saquen el máximo rendimiento del programa. Java proporciona los elementos básicos para construir decentes interfaces de usuario a través del AWT. 
Al nivel más bajo, el sistema operativo transmite información desde el ratón y el teclado como dispositivos de entrada al programa. El AWT fue diseñado pensando en que el programador no tuviese que preocuparse de detalles como controlar el movimiento del ratón o leer el teclado, ni tampoco atender a detalles como la escritura en pantalla. El AWT constituye una librería de clases orientada a objeto para cubrir estos recursos y servicios de bajo nivel. 
Debido a que el lenguaje de programación Java es independiente de la plataforma en que se ejecuten sus aplicaciones, el AWT también es independiente de la plataforma en que se ejecute. El AWT proporciona un conjunto de herramientas para la construcción de interfaces gráficas que tienen una apariencia y se comportan de forma semejante en todas las plataformas en que se ejecute. Los elementos de interface proporcionados por el AWT están implementados utilizando toolkits nativos de las plataformas, preservando una apariencia semejante a todas las aplicaciones que se creen para esa plataforma. Este es un punto fuerte del AWT, pero también tiene la desventaja de que una interface gráfica diseñada para una plataforma, puede no visualizarse correctamente en otra diferente.
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
7.1. CLASE GRAPHICS 2D java.awt.Graphics2D es una clase que extiende a java.awt.Graphics y tiene atributos de estado que conforman el contexto y que pueden modificarse son los siguientes puntos:  Variar la anchura del pincel o líneas.  Definir colores o patrones de relleno para las figuras.  Trasladar, rotar, reducir o ampliar objetos cuando son generados.  Especificar la forma en que se componen las figuras superpuestas Atributos de pincel  draw(),  drawArc(),  drawLine(),  drawOval(),  drawPolygon(),  drawPolyline(),  drawRect()  drawRoundRect(). Transformaciones Graphics2D proporciona varios métodos que permiten modificar la transformación por defecto en su contexto. Lo más sencillo es llamar a uno de los métodos de transformación de Graphics2D como  rotate()  scale()  shear()  translate()
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
7.2. FIGURAS GEOMÉTRICAS EN JAVA 2D Con el paquete java.awt.geom proporciona varias clases que definen objetos geométricos simples tales como puntos, líneas, curvas y rectángulos.  Rectangle2D  Line2D  Point2D  Ellipse2D  Arc2D 
Ejemplo import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.awt.geom.RoundRectangle2D; import javafx.geometry.Rectangle2D; public class prueba { public void paint(Graphics2D g) { Graphics2D g2 = (Graphics2D) g; Rectangle2D r = new Rectangle2D(50.0f, 50.0f, 110.0f, 200.0f); RoundRectangle2D rr = new RoundRectangle2D.Float(60.0f, 60.0f, 90.0f, 180.0f, 25.0f, 25.0f); Ellipse2D e = new Ellipse2D.Float(100.0f, 80.0f, 10.0f, 10.0f);
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
g2.draw((Shape) r); g2.draw(rr); g2.draw(e); } } 
7.3. TRATAMIENTO DE TEXTO CON JAVA2D 
 Obtener fuentes 
 Dibujar una única línea de texto Una vez creada la fuente, la forma más fácil de dibujar una línea de texto en un Graphics2D es utilizar su método drawString() habiendo establecido previamente la fuente actual en el contexto.  Manejo de la clase TextAttribute. La clase TextAttribute sirve para definir atributos de texto que luego se pueden aplicar a toda una cadena del tipo AttributedString, o bien a sólo una porción de ella.
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
SINTAXIS: TextAttribute.Atributo 
7.4. IMÁGENES CON JAVA2D  Cargar una imagen El método usado para cargar una imagen desde una URL o desde un fichero es el método getImage() del paquete java.awt.Toolkit. Para poder usar esta función hay que obtener antes el objeto Toolkit por defecto invocando a la función estática Toolkit.getDefaultToolkit(). Realmente la sentencia getImage() no carga inmediatamente la imagen sino que la mete en una cola asociada al Toolkit por defecto; cuando el Toolkit finaliza la carga vuelve a invocar al repintado del panel. En otras palabras, la función paint() es invocada varias veces hasta que la imagen se acaba de cargar.  Cargar una imagen como BufferedImage JPEG pueden cargarse como cualesquiera otras produciendo un objeto de tipo Image, Ciertas operaciones de transformación que requieren un objeto de tipo BufferedImage La imagen JPEG se puede cargar mediante el mencionado códec. Para cargar una imagen es necesario un decodificador.  Crear imágenes
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
La forma mas sencilla es el metodo createImage() de la clase Toolkit. En la API Java2D ese objeto devuelto puede convertirse sin ningún problema en un objeto BufferedImage con un simple casting (forzado de tipo).  Mostrar una imagen Se utilizan métodos drawImage() de las clases Graphics y Graphics2D Cuando se invoca al método drawImage() para generar una imagen, se dibujan todos los datos de la imagen que están disponibles en ese preciso instante y se retorna inmediatamente. 
7.5. EL COLOR EN JAVA2D  Cómo crear un color La clase java.awt.Color representa un color en el espacio de colores RGB por defecto.
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
El parámetro Alfa indica si se quiere o no introducir la transparencia en el color Ejemplos: Color.blue = new Color(0,0,255) Color.green = new Color(0,255,0) Color White = new Color(255,255,255) Color.darkGray =new Color(64,64,64)
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
CAPITULO VIII DISEÑA E IMPLEMENTA INTERFACES VISUALES PARA LAS APLICACIONES JAVA. 
8.1 CONTENEDORES Como vimos en entradas anteriores, un contenedor es el tapiz donde pintaremos nuestros componentes gráficos, existen contenedores principales, entre estos se encuentran JFrame y JDialog pero también existen otros contendedores incluidos dentro de los mencionados...  JFrame – Es la Ventana de aplicación, el contenedor principal  JDialog – Una ventana de tipo Ventana de diálogo, tambien puede ser un contenedor principal.  JPanel – Permite la creación de paneles independientes donde se almacenan otros componentes.  JScrollPane – permite la vinculación de barras de desplazamiento en un contenedor.  JSplitPane – permite la creación de un contenedor dividido en 2 secciones.  JTabbedPane – Permite la creación de pestañas, cada pestaña representa un contenedor independiente.  JDesktopPane – Permite crear ventanas dentro de una ventana principal  JToolBar – Permite introducir una Barra de herramientas 
8.2 COMPONENTES ATÓMICOS 
Los componentes atómicos son los elementos que no pueden almacenar otros objetos o componentes graficos, por ejemplo, un JPanel no es Atómico, ya que en el podemos almacenar JButtons, JTextField entre otros...  JLabel – Permite Vincular Etiquetas, tanto de texto como de imagenes  JButton – Permite vincular Botones simples.  JCheckBox – Son Casilla de verificación, ideal para selección múltiples.  JRadioButton – Permite presentar opciones de selección similares a las checkbox, solo que el enfoque de estas es de única selección.  JToggleButton – Botón que al oprimirlo se quedará presionado hasta que se ejecute otro evento.  JComboBox – Permite mostrar una lista de elementos como un combo de selección.  JScrollBar – Permite mostrar una barra de desplazamiento, regularmente usada en Areas de texto o paneles donde el contenido es mayor que el tamaño del componente.  JSeparator – Permite separar opciones, es una barra simple.  JSlider - Permite vincular un Deslizador en nuestra ventana.  JSpinner – permite vincular una caja de texto con botones integrados para seleccionar algún valor.  JProgressBar – Establece una barra de progreso.
TALLER DE PROGRACION CONCURRENTE 
Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 
8.3 COMPONENTES DE TEXTO. Son todos aquellos que nos permiten procesar cadenas de texto, sea como entrada o salida de información.  JTextField – Permite introducir un campo de texto simple.  JFormattedTextField – Permite introducir un campo de texto con formato, (si definimos que solo recibe números no permitirá letras...)  JPasswordField – Campo de texto que oculta los caracteres ingresados.  JTextArea – Permite vincular un área de texto donde el usuario ingresara información o simplemente para presentar cadenas de texto.  JEditorPane –Permite vincular un área de texto con propiedades de formato.  JTextPane – Similar al anterior, permitiendo otras opciones de formato, colores, iconos entre otros. 
8.4 COMPONENTES DE MENUS. Estos componentes permiten vincular opciones de menú en nuestras ventanas, tipo menú principal, como por ejemplo el conocido Inicio, Archivo, Edición etc..  JMenuBar – Permite vincular una barra de menús.  JMenu– Permite vincular botones o enlaces que al ser pulsados despliegan un menú principal.  JMenuItem – Botón u opción que se encuentra en un menú.  JCheckBoxMenuItem– Elemento del menú como opciones de checkbox.  JRadioButtonMenuItem– Elemento del menú como botón de selección.  JPopupMenu– Opciones de menú emergentes. 
8.5 COMPONENTES COMPLEJOS 
Estos son componentes un poco mas avanzados, cumplen con funciones mas enfocadas a procesos especificos y complejos, como por ejemplo obtener gran cantidad de información de una base de datos, trabajo con nodos, colores entre otros.  JTable – Permite vincular una tabla de datos con sus respectivas filas y columnas.  JTree - Carga un árbol donde se establece cierta jerarquía visual, tipo directorio.  JList – Permite cargar una lista de elementos, dependiendo de las propiedades puede tenerse una lista de selección múltiple.  JFileChooser – Es un componente que permite la búsqueda y selección de ficheros entre otras.  JColorChooser – Componente que permite cargar un panel selector de color  JOptionPane – No es algo complejo sino mas un componente independiente que permite mostrar un cuadro de diálogo personalizable. FUENES: http://elvex.ugr.es/decsai/java/pdf/D1-swing.pdf http://jugandoconjava.co/tutoriales/jFrames/soundClip/soundClip.html http://proton.ucting.udg.mx/tutorial/java/Cap4/marco.html

Contenu connexe

Tendances

AWT- JAVA
AWT- JAVAAWT- JAVA
AWT- JAVAale8819
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansEmerson Garay
 
Diagramas de uml generacion de codigos
Diagramas de uml generacion de codigosDiagramas de uml generacion de codigos
Diagramas de uml generacion de codigosJesus Rodriguez
 
Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanaselsemieni
 
Tema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuarioTema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuarioCarlos A. Iglesias
 
Swing
SwingSwing
SwingEPN
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionVale
 
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.
 
Desarrollo de Productos con Archetypes y ArchGenXML
Desarrollo de Productos con Archetypes y ArchGenXMLDesarrollo de Productos con Archetypes y ArchGenXML
Desarrollo de Productos con Archetypes y ArchGenXMLRoberto Allende
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficaAnel Sosa
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swingmrojas_unitec
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Javamaeusogo
 
Tutoria visual basic yolimar rosario
Tutoria visual basic yolimar rosarioTutoria visual basic yolimar rosario
Tutoria visual basic yolimar rosarioYODLIROSS
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVAjohitafresh
 

Tendances (20)

Swin01
Swin01Swin01
Swin01
 
Guide
GuideGuide
Guide
 
Informatica
InformaticaInformatica
Informatica
 
AWT- JAVA
AWT- JAVAAWT- JAVA
AWT- JAVA
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeans
 
Diagramas de uml generacion de codigos
Diagramas de uml generacion de codigosDiagramas de uml generacion de codigos
Diagramas de uml generacion de codigos
 
Java - Tutorial Ventanas
Java - Tutorial VentanasJava - Tutorial Ventanas
Java - Tutorial Ventanas
 
Tema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuarioTema 4 3_3_interfaces_de_usuario
Tema 4 3_3_interfaces_de_usuario
 
Swing
SwingSwing
Swing
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Java
JavaJava
Java
 
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)
 
Desarrollo de Productos con Archetypes y ArchGenXML
Desarrollo de Productos con Archetypes y ArchGenXMLDesarrollo de Productos con Archetypes y ArchGenXML
Desarrollo de Productos con Archetypes y ArchGenXML
 
interfaz grafica
interfaz graficainterfaz grafica
interfaz grafica
 
investigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz graficainvestigacion topicos avanzados de programacion unidad dos interfaz grafica
investigacion topicos avanzados de programacion unidad dos interfaz grafica
 
Introducción a Swing
Introducción a SwingIntroducción a Swing
Introducción a Swing
 
Flow layout
Flow layoutFlow layout
Flow layout
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Tutoria visual basic yolimar rosario
Tutoria visual basic yolimar rosarioTutoria visual basic yolimar rosario
Tutoria visual basic yolimar rosario
 
Introducción a JAVA
Introducción a JAVAIntroducción a JAVA
Introducción a JAVA
 

En vedette (7)

Interfaz en Java y en C#
Interfaz en Java y en C#Interfaz en Java y en C#
Interfaz en Java y en C#
 
Interfaces en Java
Interfaces en JavaInterfaces en Java
Interfaces en Java
 
Programacion en JAVA 2
Programacion en JAVA 2Programacion en JAVA 2
Programacion en JAVA 2
 
Interfaz java
Interfaz javaInterfaz java
Interfaz java
 
Interfaces en java
Interfaces en javaInterfaces en java
Interfaces en java
 
Interfaz gráfica java
Interfaz gráfica javaInterfaz gráfica java
Interfaz gráfica java
 
Interfaz java y arduino
Interfaz java y arduinoInterfaz java y arduino
Interfaz java y arduino
 

Similaire à 7 y 8. interfaz grafica en java (20)

Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Interfaces graficas(1)
Interfaces graficas(1)Interfaces graficas(1)
Interfaces graficas(1)
 
Tutorial netbeans
Tutorial netbeansTutorial netbeans
Tutorial netbeans
 
Tema6resumido
Tema6resumidoTema6resumido
Tema6resumido
 
Gu is awt_swing
Gu is awt_swingGu is awt_swing
Gu is awt_swing
 
Clase swing
Clase swingClase swing
Clase swing
 
Clase swing
Clase swingClase swing
Clase swing
 
Programacion.....swing
Programacion.....swingProgramacion.....swing
Programacion.....swing
 
Introduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2DIntroduccion a graficos mediante JAVA 2D
Introduccion a graficos mediante JAVA 2D
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
 
Trabajo teórico exposcición
Trabajo teórico exposciciónTrabajo teórico exposcición
Trabajo teórico exposcición
 
Programacion1
Programacion1Programacion1
Programacion1
 
Entrada y salida de datos en java
Entrada y salida de datos en javaEntrada y salida de datos en java
Entrada y salida de datos en java
 
Portafoliojava
PortafoliojavaPortafoliojava
Portafoliojava
 
ventanas swing en java
ventanas swing en javaventanas swing en java
ventanas swing en java
 
Swing
SwingSwing
Swing
 
Swing
SwingSwing
Swing
 
Swing
SwingSwing
Swing
 
Portafoliojava
PortafoliojavaPortafoliojava
Portafoliojava
 
Java ventajas y caracteristicas
Java ventajas y caracteristicasJava ventajas y caracteristicas
Java ventajas y caracteristicas
 

Dernier

electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejerciciosEfrain Yungan
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxaxelalejossantos
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEfrain Yungan
 
La mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionLa mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionnewspotify528
 
Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxBuddyroi
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
Unid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitariasUnid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitariasPatriciaRaimondi
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfElenaNagera
 
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdfnurix_15
 
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfMANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfciteagrohuallaga07
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfAnthony Gualpa
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalamador030809
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfmcamposa87
 
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfDispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfdego18
 
Sales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganicaSales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganicakiaranoemi
 
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALFOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALRiveraPemintelAlejan
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfsolidalilaalvaradoro
 
30-Planos-de-Casas-para-construir en.pdf
30-Planos-de-Casas-para-construir en.pdf30-Planos-de-Casas-para-construir en.pdf
30-Planos-de-Casas-para-construir en.pdfpauljean19831977
 
Sistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas ruralesSistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas ruralesrberinald
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variadoEsthefaniaAuquilla1
 

Dernier (20)

electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicios
 
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptxACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
ACEROS DE PERFORACION, CARACTERISTICAS Y FICHAS TECNICAS.pptx
 
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticasEJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
EJERCICIOS DE -LEY-DE-OHM aplicaciones prácticas
 
La mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacionLa mineralogia y minerales, clasificacion
La mineralogia y minerales, clasificacion
 
Accidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptxAccidente mortal con un Torno mecánico.pptx
Accidente mortal con un Torno mecánico.pptx
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
Unid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitariasUnid 3 Extraccion 10-10-23 operaciones unitarias
Unid 3 Extraccion 10-10-23 operaciones unitarias
 
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdfSESIÓN 1 - Tema 1 - Conceptos Previos.pdf
SESIÓN 1 - Tema 1 - Conceptos Previos.pdf
 
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf209530529 Licuacion-de-Suelos-en-Arequipa.pdf
209530529 Licuacion-de-Suelos-en-Arequipa.pdf
 
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdfMANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
MANUAL DE NORMAS SANITARIAS PERUANAS ACTUALIZADO 2024.pdf
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdf
 
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacionalCapacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
Capacitación Anexo 6 D.s. 023 seguridad y salud ocupacional
 
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdfPLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
PLANTILLA DE PP PREVENCIONISTA DE RIESGOS LABORALES (1).pptx.pdf
 
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdfDispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
Dispositivos Semiconductores de Potencia BJT, MOSFET 01.pdf
 
Sales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganicaSales binarias y oxisales química inorganica
Sales binarias y oxisales química inorganica
 
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURALFOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
FOLIACIONES Y LINEACIONES GEOLOGÍA ESTRUCTURAL
 
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdfINFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
INFORME DE LA DE PROBLEMÁTICA AMBIENTAL 2 UNIDAD FINAL. PDF.pdf
 
30-Planos-de-Casas-para-construir en.pdf
30-Planos-de-Casas-para-construir en.pdf30-Planos-de-Casas-para-construir en.pdf
30-Planos-de-Casas-para-construir en.pdf
 
Sistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas ruralesSistema Séptico Domiciliario para viviendas rurales
Sistema Séptico Domiciliario para viviendas rurales
 
movimiento circular univormemente variado
movimiento circular univormemente variadomovimiento circular univormemente variado
movimiento circular univormemente variado
 

7 y 8. interfaz grafica en java

  • 1. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI CAPITULO VII DISEÑA E IMPLEMENTA APLICACIONES PARA EL TRATAMIENTO DE FIGURAS, IMÁGENES Y TEXTOS EN DOS DIMENSIONES (JAVA 2D) INTERFACE DE USUARIO La interface de usuario es la parte del programa que permite a éste interactuar con el usuario. Las interfaces de usuario pueden adoptar muchas formas, que van desde la simple línea de comandos hasta las interfaces gráficas que proporcionan las aplicaciones más modernas. La interface de usuario es el aspecto más importante de cualquier aplicación. Una aplicación sin un interfaz fácil, impide que los usuarios saquen el máximo rendimiento del programa. Java proporciona los elementos básicos para construir decentes interfaces de usuario a través del AWT. Al nivel más bajo, el sistema operativo transmite información desde el ratón y el teclado como dispositivos de entrada al programa. El AWT fue diseñado pensando en que el programador no tuviese que preocuparse de detalles como controlar el movimiento del ratón o leer el teclado, ni tampoco atender a detalles como la escritura en pantalla. El AWT constituye una librería de clases orientada a objeto para cubrir estos recursos y servicios de bajo nivel. Debido a que el lenguaje de programación Java es independiente de la plataforma en que se ejecuten sus aplicaciones, el AWT también es independiente de la plataforma en que se ejecute. El AWT proporciona un conjunto de herramientas para la construcción de interfaces gráficas que tienen una apariencia y se comportan de forma semejante en todas las plataformas en que se ejecute. Los elementos de interface proporcionados por el AWT están implementados utilizando toolkits nativos de las plataformas, preservando una apariencia semejante a todas las aplicaciones que se creen para esa plataforma. Este es un punto fuerte del AWT, pero también tiene la desventaja de que una interface gráfica diseñada para una plataforma, puede no visualizarse correctamente en otra diferente.
  • 2. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 7.1. CLASE GRAPHICS 2D java.awt.Graphics2D es una clase que extiende a java.awt.Graphics y tiene atributos de estado que conforman el contexto y que pueden modificarse son los siguientes puntos:  Variar la anchura del pincel o líneas.  Definir colores o patrones de relleno para las figuras.  Trasladar, rotar, reducir o ampliar objetos cuando son generados.  Especificar la forma en que se componen las figuras superpuestas Atributos de pincel  draw(),  drawArc(),  drawLine(),  drawOval(),  drawPolygon(),  drawPolyline(),  drawRect()  drawRoundRect(). Transformaciones Graphics2D proporciona varios métodos que permiten modificar la transformación por defecto en su contexto. Lo más sencillo es llamar a uno de los métodos de transformación de Graphics2D como  rotate()  scale()  shear()  translate()
  • 3. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 7.2. FIGURAS GEOMÉTRICAS EN JAVA 2D Con el paquete java.awt.geom proporciona varias clases que definen objetos geométricos simples tales como puntos, líneas, curvas y rectángulos.  Rectangle2D  Line2D  Point2D  Ellipse2D  Arc2D Ejemplo import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.awt.geom.RoundRectangle2D; import javafx.geometry.Rectangle2D; public class prueba { public void paint(Graphics2D g) { Graphics2D g2 = (Graphics2D) g; Rectangle2D r = new Rectangle2D(50.0f, 50.0f, 110.0f, 200.0f); RoundRectangle2D rr = new RoundRectangle2D.Float(60.0f, 60.0f, 90.0f, 180.0f, 25.0f, 25.0f); Ellipse2D e = new Ellipse2D.Float(100.0f, 80.0f, 10.0f, 10.0f);
  • 4. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI g2.draw((Shape) r); g2.draw(rr); g2.draw(e); } } 7.3. TRATAMIENTO DE TEXTO CON JAVA2D  Obtener fuentes  Dibujar una única línea de texto Una vez creada la fuente, la forma más fácil de dibujar una línea de texto en un Graphics2D es utilizar su método drawString() habiendo establecido previamente la fuente actual en el contexto.  Manejo de la clase TextAttribute. La clase TextAttribute sirve para definir atributos de texto que luego se pueden aplicar a toda una cadena del tipo AttributedString, o bien a sólo una porción de ella.
  • 5. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI SINTAXIS: TextAttribute.Atributo 7.4. IMÁGENES CON JAVA2D  Cargar una imagen El método usado para cargar una imagen desde una URL o desde un fichero es el método getImage() del paquete java.awt.Toolkit. Para poder usar esta función hay que obtener antes el objeto Toolkit por defecto invocando a la función estática Toolkit.getDefaultToolkit(). Realmente la sentencia getImage() no carga inmediatamente la imagen sino que la mete en una cola asociada al Toolkit por defecto; cuando el Toolkit finaliza la carga vuelve a invocar al repintado del panel. En otras palabras, la función paint() es invocada varias veces hasta que la imagen se acaba de cargar.  Cargar una imagen como BufferedImage JPEG pueden cargarse como cualesquiera otras produciendo un objeto de tipo Image, Ciertas operaciones de transformación que requieren un objeto de tipo BufferedImage La imagen JPEG se puede cargar mediante el mencionado códec. Para cargar una imagen es necesario un decodificador.  Crear imágenes
  • 6. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI La forma mas sencilla es el metodo createImage() de la clase Toolkit. En la API Java2D ese objeto devuelto puede convertirse sin ningún problema en un objeto BufferedImage con un simple casting (forzado de tipo).  Mostrar una imagen Se utilizan métodos drawImage() de las clases Graphics y Graphics2D Cuando se invoca al método drawImage() para generar una imagen, se dibujan todos los datos de la imagen que están disponibles en ese preciso instante y se retorna inmediatamente. 7.5. EL COLOR EN JAVA2D  Cómo crear un color La clase java.awt.Color representa un color en el espacio de colores RGB por defecto.
  • 7. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI El parámetro Alfa indica si se quiere o no introducir la transparencia en el color Ejemplos: Color.blue = new Color(0,0,255) Color.green = new Color(0,255,0) Color White = new Color(255,255,255) Color.darkGray =new Color(64,64,64)
  • 8. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI CAPITULO VIII DISEÑA E IMPLEMENTA INTERFACES VISUALES PARA LAS APLICACIONES JAVA. 8.1 CONTENEDORES Como vimos en entradas anteriores, un contenedor es el tapiz donde pintaremos nuestros componentes gráficos, existen contenedores principales, entre estos se encuentran JFrame y JDialog pero también existen otros contendedores incluidos dentro de los mencionados...  JFrame – Es la Ventana de aplicación, el contenedor principal  JDialog – Una ventana de tipo Ventana de diálogo, tambien puede ser un contenedor principal.  JPanel – Permite la creación de paneles independientes donde se almacenan otros componentes.  JScrollPane – permite la vinculación de barras de desplazamiento en un contenedor.  JSplitPane – permite la creación de un contenedor dividido en 2 secciones.  JTabbedPane – Permite la creación de pestañas, cada pestaña representa un contenedor independiente.  JDesktopPane – Permite crear ventanas dentro de una ventana principal  JToolBar – Permite introducir una Barra de herramientas 8.2 COMPONENTES ATÓMICOS Los componentes atómicos son los elementos que no pueden almacenar otros objetos o componentes graficos, por ejemplo, un JPanel no es Atómico, ya que en el podemos almacenar JButtons, JTextField entre otros...  JLabel – Permite Vincular Etiquetas, tanto de texto como de imagenes  JButton – Permite vincular Botones simples.  JCheckBox – Son Casilla de verificación, ideal para selección múltiples.  JRadioButton – Permite presentar opciones de selección similares a las checkbox, solo que el enfoque de estas es de única selección.  JToggleButton – Botón que al oprimirlo se quedará presionado hasta que se ejecute otro evento.  JComboBox – Permite mostrar una lista de elementos como un combo de selección.  JScrollBar – Permite mostrar una barra de desplazamiento, regularmente usada en Areas de texto o paneles donde el contenido es mayor que el tamaño del componente.  JSeparator – Permite separar opciones, es una barra simple.  JSlider - Permite vincular un Deslizador en nuestra ventana.  JSpinner – permite vincular una caja de texto con botones integrados para seleccionar algún valor.  JProgressBar – Establece una barra de progreso.
  • 9. TALLER DE PROGRACION CONCURRENTE Docente del curso: BACH. ING. RAUL J. POMASONCCO POMACANCHARI 8.3 COMPONENTES DE TEXTO. Son todos aquellos que nos permiten procesar cadenas de texto, sea como entrada o salida de información.  JTextField – Permite introducir un campo de texto simple.  JFormattedTextField – Permite introducir un campo de texto con formato, (si definimos que solo recibe números no permitirá letras...)  JPasswordField – Campo de texto que oculta los caracteres ingresados.  JTextArea – Permite vincular un área de texto donde el usuario ingresara información o simplemente para presentar cadenas de texto.  JEditorPane –Permite vincular un área de texto con propiedades de formato.  JTextPane – Similar al anterior, permitiendo otras opciones de formato, colores, iconos entre otros. 8.4 COMPONENTES DE MENUS. Estos componentes permiten vincular opciones de menú en nuestras ventanas, tipo menú principal, como por ejemplo el conocido Inicio, Archivo, Edición etc..  JMenuBar – Permite vincular una barra de menús.  JMenu– Permite vincular botones o enlaces que al ser pulsados despliegan un menú principal.  JMenuItem – Botón u opción que se encuentra en un menú.  JCheckBoxMenuItem– Elemento del menú como opciones de checkbox.  JRadioButtonMenuItem– Elemento del menú como botón de selección.  JPopupMenu– Opciones de menú emergentes. 8.5 COMPONENTES COMPLEJOS Estos son componentes un poco mas avanzados, cumplen con funciones mas enfocadas a procesos especificos y complejos, como por ejemplo obtener gran cantidad de información de una base de datos, trabajo con nodos, colores entre otros.  JTable – Permite vincular una tabla de datos con sus respectivas filas y columnas.  JTree - Carga un árbol donde se establece cierta jerarquía visual, tipo directorio.  JList – Permite cargar una lista de elementos, dependiendo de las propiedades puede tenerse una lista de selección múltiple.  JFileChooser – Es un componente que permite la búsqueda y selección de ficheros entre otras.  JColorChooser – Componente que permite cargar un panel selector de color  JOptionPane – No es algo complejo sino mas un componente independiente que permite mostrar un cuadro de diálogo personalizable. FUENES: http://elvex.ugr.es/decsai/java/pdf/D1-swing.pdf http://jugandoconjava.co/tutoriales/jFrames/soundClip/soundClip.html http://proton.ucting.udg.mx/tutorial/java/Cap4/marco.html