Nueva Interfaz de Usuario y Nuevo Lector Java «La socialización del conocimiento» .
7 y 8. interfaz grafica en java
-
Upload
raul-pomasoncco -
Category
Engineering
-
view
198 -
download
5
description
Transcript of 7 y 8. interfaz grafica en java
![Page 1: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/1.jpg)
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.
![Page 2: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/2.jpg)
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()
![Page 3: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/3.jpg)
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);
![Page 4: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/4.jpg)
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.
![Page 5: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/5.jpg)
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
![Page 6: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/6.jpg)
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.
![Page 7: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/7.jpg)
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)
![Page 8: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/8.jpg)
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.
![Page 9: 7 y 8. interfaz grafica en java](https://reader035.fdocuments.ec/reader035/viewer/2022073010/559cd2541a28ab547f8b46ea/html5/thumbnails/9.jpg)
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