2.1 Elementos gráficos en Java.



Documentos relacionados
Componentes Swing. Las clases cuyo nombre comienza por J forman parte de Swing. Todas las demás están incluidas en AWT (Abstract Window Toolkit)

Interfaces gráficas. Jose Jesus García Rueda

Aplicaciones gráficas en Java Librería Swing

Programación de sistemas

Tema 6. Interfaces gráficas de usuario (Parte 1)

Interfaces gráficas de usuario

Interfases gráficas. Programación Orientada a Objetos.

Gestión de Retales WhitePaper Noviembre de 2009

V Manual de Portafirmas V.2.3.1

COMO CREAR UNA PÁGINA WEB 2-INTRODUCCIÓN A DREAWEAVER

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

/05/2009

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

Introducción a Protégé

Definiciones. Tema 21_Módulos Menú 1

Uso de Java Swing. Noviembre de 2013

TEMA 4: EMPEZANDO A NAVEGAR ESCUELA UNIVERSITARIA DE INFORMÁTICA. Raúl Martín Martín

Manual de configuración de Outlook 2010 ÍNDICE

Marta Soler Tel: Fax: TUTORIAL DEL GESTOR DE CONTENIDOS DOTNETNUKE


MS ACCESS BÁSICO 6 LOS INFORMES

INDICE. 1. Introducción El panel Entities view El panel grafico Barra de botones Botones de Behavior...

Páginas multimedia Pizarra

Adaptación al NPGC. Introducción. NPGC.doc. Qué cambios hay en el NPGC? Telf.: Fax.:

ÍTEMS DEL MENÚ CREACIÓN Y GESTIÓN (Última revisión: lunes, 9 de marzo de 2009)

Servicio Webmail. La fibra no tiene competencia

Uso de Visual C++ Pre-Practica No. 3

I. Introducción a la programación orientada a objetos y al lenguaje JAVA Colegio Reuven Feuerstein Javier Navarro

F O R M U L A R I O S FORMULARIOS

CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO CATÁLOGO

TUTORIAL ENVIO SMS MASIVOS. 1. Segmentación de la base de datos de clientes

Indice. Swing: conceptos. Generalidades. Swing & AWT: diferencias. Interfaz Gráfica de Usuario (GUI)

Gráficas animadas en PowerPoint

OPERACIONES EN MOSTRADOR

- Crear los componentes que se muestran en dicha ventana.

Bases de datos en Excel

Para crear una lista como la anterior, primero escribe la información, y después selecciona el texto y aplícale el formato de viñetas.

PUESTA EN MARCHA PROGRAMA GESTION DE OPTICAS. Junio

efactura Online La fibra no tiene competencia

AGREGAR UN EQUIPO A UNA RED Y COMPARTIR ARCHIVOS CON WINDOWS 7

Diseño de formularios

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

Manual de Configuración de Spam Assassin para Plesk

Páginas multimedia Dashboard

MANUAL BASICO DE WEBEX

CÓMO AÑADIR UN FORMULARIO NUEVO O MODIFICAR EL DE CONTACTO DE LA WEB

Instalar protocolo, cliente o servicio nuevo. Seleccionar ubicación de red. Práctica - Compartir y conectar una carpeta

Creando una webquests

Novedades PhotoGestion 5

Plantillas Office. Manual de usuario Versión 1.1

Java y Eclipse Desarrolle una aplicación con Java y Eclipse

MANUAL DE USO DEL PORTAL TAU

Hacer una página web con Kompozer

MANUAL DE AYUDA MODULO TALLAS Y COLORES

7.1. Mandar mensajes privados 7.2. Escribir en la biografía de un amigo 7.3. Chatear

En la siguiente imagen se muestra la pantalla principal del portafolio de un usuario que será utilizado para explicar cada aspecto del mismo.

PANEL DE CONTROL (Zona de Administración) MANUAL DE USO Por conexanet. Revisión 1.1 Fecha

Cómo creo las bandejas del Registro de Entrada /Salida y de Gestión de Expedientes?

Ajustes del Curso en egela (Moodle 2.5)

EL PROGRAMA DE PRESENTACIONES IMPRESS (I)

MICROSOFT WORD 2007 AVANZADO. Unidad Didáctica Nº 1

Ministerio de Educación. Diseño de Presentaciones en la Enseñanza. Módulo 9: Imprimir

Presentaciones. Con el estudio de esta Unidad pretendemos alcanzar los siguientes objetivos:

Introducción a Google Calendar Breve guía sobre algunas de sus funcionalidades destacables.

Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación. IIC1102 Introducción a la Programación

vbnmqwertyuiopasdfghjklzxcvbnmrty uiopasdfghjklzxcvbnmqwertyuiopasdf ghjklzxcvbnmqwertyuiopasdfghjklzxc

Manejo de eventos AWT

Mantenimiento Limpieza

1. Prestar ejemplar. -1-

Índice general de materias LECCIÓN 7 74

Vamos a ver las dos formas básicas de arrancar PowerPoint.

Práctica 3: Introducción a Word

Proyecto de Facturación con Filemaker Pro 12

Plataforma e-ducativa Aragonesa. Manual de Administración. Bitácora

Manual para la utilización de PrestaShop

Manual de usuario de Windows Live Writer

Manual de usuario para Android de la aplicación PORTAFIRMAS MÓVIL

Mejoras introducidas MARKETING GIO

Trabajar con diapositivas

Combinar correspondencia (I)

Tipos de programas en Java. Programación basada en eventos. Programación basada en eventos. Creación de una interfaz gráfico de usuario

Pruebas de unidad con JUnit

01 Índice. GESTOR DE CONTENIDOS Manual de uso 01 ÍNDICE OBJETO DEL DOCUMENTO ESTRUCTURA GRÁFICA DEL SISTEMA... 3

Guía para el tratamiento en Allegro de recibos para centros no pertenecientes a la Generalitat Valenciana.

1 DISEÑO WEB de ANCHO FIJO con 2 COLUMNAS FLOTANTES

MINITUTORIAL PARA EL MANEJO DE TABLEAU

Manual SBR. Pero antes de explicar las actividades que principalmente podemos desarrollar vamos a dar una visión global de la aplicación.

Manual de gestión de contenidos web en entorno Drupal. Versión sitio maestro para servicios 1.0

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

Curso de Java POO: Programación orientada a objetos

MANUAL DE AYUDA. SAT Móvil (Movilidad del Servicio Técnico)

Tutorial del administrador de la web del departamento

Escritorio remoto y VPN. Cómo conectarse desde Windows 7

Tutorial de Introducción a la Informática Tema 0 Windows. Windows. 1. Objetivos

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Draw: objetos en 3D, diagramas de flujo y exportación

UF0513 Gestión auxiliar de archivo en soporte convencional o informático

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

Manual CMS Mobincube

Transcripción:

Practica0 de 1. Programa Java tipo consola public class Clase0 { public static void main(string[] args) { System.out.println("Hola Mundo"); System.out.println("Estamos en clase de Interfaces de Usuario"); 2. Programa grafico Java 2.1 Elementos gráficos en Java. Cada uno de los elementos de un interfaz gráfico de usuario en Java se representa por una instancia de una determinada clase. Por ejemplo, si queremos que nuestro interfaz tenga un botón, tendremos que, entre otras cosas, instanciar un objeto de la clase JButton. Para configurar los aspectos gráficos de los componentes usaremos métodos en la clase determinada. Por ejemplo, podremos cambiar el texto del botón usando el método void settext(string texto) de la clase JButton. En el siguiente cuadro se muestran los distintos tipos de elementos que se pueden encontrar en y el nombre de la clase que los representa: Componentes atómicos Componentes complejos JLabel Etiqueta, muestra imágenes y texto. El texto se puede formatear con etiquetas HTML. JButton Botón JCheckBox Casilla de verificación JRadioButton Botón de radio, usado para seleccionar una opción entre varias JToggleButton Botón que se queda presionado al pulsarle JComboBox Control que muestra un elemento y pulsando en una flecha se pueden ver otros elementos JScrollBar Barra de desplazamiento, usada en los contenedores que permiten que su contenido sea más grande que ellos. Nunca usaremos este componente directamente. JSeparator Usado en los menus y barras de herramientas para separar opciones. JSlider - Deslizador JSpinner Campo de texto con botones para elegir el elemento siguiente o anterior. Se puede usar para números, fechas o elementos propios. JProgressBar Barra de progreso JTable Tabla JTree - Árbol JList Lista de elementos JFileChooser Selector de ficheros JColorChooser Selector de color JOptionPane Cuadro de diálogo personalizable

Componentes de texto Contenedores Contenedores de alto nivel Menus Otros JTextField Campo de texto JFormattedTextField Campo de texto formateado JPasswordField Campo de texto para contraseñas JTextArea Area de texto JTextPane Area de texto formateado y con imágenes JEditorPane Area de texto formateado y con imágenes que permite la edición del contenido JPanel Contenedor JScrollPane Contenedor con barras de desplazamiento JSplitPane Contenedor dividido en dos partes JTabbedPane Contenedor con pestañas JDesktopPane Contenedor para incluir ventanas dentro JToolBar Barra de herramientas JFrame Ventana de aplicación JDialog Cuadro de diálogo JWindow Ventana sin marco JInternalFrame Ventana interna JMenu Un botón que al ser pulsado despliega un menú. JCheckBoxMenuItem Elemento del menú como botón de chequeo. JRadioButtonMenuItem Elemento del menú como botón de selección. JPopupMenu Menú de elementos. JMenuItem Un botón que se encuentra en un menu. JMenuBar Barra de menus. JToolBar Barra de herramientas JToolTip Tooltip No vamos a ver todos los componentes en detalle. Este tutorial pretende mostrar los conceptos básicos de y cómo construir interfaces potentes, pero no entra en los detalles de cada componente. Se pretende que el lector tenga la capacidad de mirar la API y comprender lo que se dice en ella sin dificultad. No obstante, a medida que vayamos avanzando, iremos dando unas nociones básicas en el uso de algunos componentes. Debido a la evolución que han sufrido los interfaces gráficos de usuario en Java, en algunos aspectos la librería de es algo confusa. Conceptualmente, podríamos pensar que todos los componentes heredan de la clase JComponent, todos aquellos que son contenedores, heredarían de JContainer, etc... Una visión conceptual de la jerarquía de clases podría ser: JComponent AbstractButton JButton JMenuItem JMenu JCheckBoxMenuItem JRadioButtonMenuItem JToggleButton JCheckBox JRadioButton JScrollBar JSeparator

JPopupMenu.Separator JToolBar.Separator JSlider JSpinner JLabel JList JComboBox JProgressBar JToolTip JTable JTree JTextComponent JEditorPane JTextPane JTextArea JTextField JFormattedTextField JPasswordField JContainer JToolBar JPanel JMenuBar JPopupMenu JTabbedPane JScrollPane JSplitPane JLayeredPane JDesktopPane JTopLevelContainer JInternalFrame JFrame JWindow JDialog JColorChooser JFileChooser JOptionPane Pero, como hemos comentado antes, debido a motivos de compatibilidad, la verdadera jerarquía es algo más confusa, aunque conceptualmente serían muy parecidas. La jerarquía de clases real que representa los elementos más importantes del interfaz de usuario es la siguiente: class java.awt.component class java.awt.container class javax.swing.jcomponent class javax.swing.abstractbutton

class javax.swing.jbutton class javax.swing.jmenuitem class javax.swing.jcheckboxmenuitem class javax.swing.jmenu class javax.swing.jradiobuttonmenuitem class javax.swing.jtogglebutton class javax.swing.jcheckbox class javax.swing.jradiobutton class javax.swing.jscrollbar class javax.swing.jseparator class javax.swing.jpopupmenu.separator class javax.swing.jtoolbar.separator class javax.swing.jslider class javax.swing.jspinner class javax.swing.jlabel class javax.swing.jlist class javax.swing.jcombobox class javax.swing.jprogressbar class javax.swing.jcolorchooser class javax.swing.jfilechooser class javax.swing.joptionpane class javax.swing.jpopupmenu class javax.swing.jmenubar class javax.swing.jtoolbar class javax.swing.jtooltip class javax.swing.jtabbedpane class javax.swing.jscrollpane class javax.swing.jsplitpane class javax.swing.jlayeredpane class javax.swing.jdesktoppane class javax.swing.jpanel class javax.swing.jtable class javax.swing.jtree class javax.swing.text.jtextcomponent class javax.swing.jeditorpane class javax.swing.jtextpane class javax.swing.jtextarea class javax.swing.jtextfield class javax.swing.jformattedtextfield class javax.swing.jpasswordfield class javax.swing.jinternalframe Ingeniería Informática

class java.awt.panel class java.awt.window class java.awt.dialog class javax.swing.jdialog class java.awt.frame class javax.swing.jframe class javax.swing.jwindow Ejemplo de un componente JFRAME Es el contenedor que emplearemos para situar en él todos los demás componentes que sean necesarios para construir una determinada interfaz. La figura 1 muestra la jerarquía de herencia de este componente desde Object, que es el objeto padre de todas las clases de Java. Sus métodos están repartidos a lo largo de todos sus ascendientes. Vamos a ilustrar esto con un ejemplo para ver el código necesario para crear un JFrame // Figura 1. Jerarquía de la herencia de JFrame 2.1.1 Pasos básicos para la creación de un entorno gráfico Una vez que hemos visto el conjunto de componentes que nos proporciona, vamos a ver como se construye un interfaz de usuario sencillo. Vamos a mostrar como construir los elementos gráficos y dejamos para el siguiente apartado la gestión de eventos. El interfaz gráfico a construir estará formado por una ventana, y dentro de ésta van a aparecer un botón, una etiqueta y un cuadro de texto. Los pasos a seguir son los siguientes: - Crear una ventana de aplicación. - Crear los componentes que se muestran en dicha ventana. - Crear un contenedor. - Asociar los componentes al contenedor para que, al hacerse visible, muestre en su interior dichos componentes. - Asociar el contenedor a la ventana de aplicación para que, al hacerse visible, muestre en su interior el contenedor y, por tanto, los componentes asociados. La jerarquía de contenedores de nuestro sencillo interfaz gráfico sería:

Ventana de Aplicación Ingeniería Informática Contenedor Botón Etiqueta Campo de texto NOTA: Cuando en un gráfico vayamos a indicar que un componente se va a pintar dentro de un determinado contenedor, usaremos una línea terminada en un círculo del contenedor al componente. Crear la ventana de aplicación Para crear una ventana de aplicación hay que instanciar un objeto de la clase JFrame. Algunos métodos de esta clase relacionados con el aspecto gráfico de la ventana son: public JFrame() Construye una ventana inicialmente invisible. public JFrame(String titulo) Construye una ventana inicialmente invisible con el título indicado. public void settitle(string titulo) Establece el título de la ventana. public void setsize(int width, int height) Establece el tamaño en píxeles de la ventana. public void setdefaultcloseoperation(int operation) Establece la operación que se ha de hacer cuando el usuario cierra la ventana. Los valores permitidos vienen determinados por las siguientes constantes: Javax.swing.JFrame.EXIT_ON_CLOSE - Salir del programa. Javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE - No hacer nada. Javax.swing.WindowConstants.HIDE_ON_CLOSE - Ocultar la ventana (por defecto). Javax.swing.WindowConstants.DISPOSE_ON_CLOSE Liberar los recursos de la ventana, pero no salir del programa. public void setresizable(boolean resizable) Establece si el usuario puede cambiar el tamaño de la ventana. Por defecto es true. public void setextendedstate(int state) Establece el estado de la ventana. Puede no funcionar en algunas plataformás. Los valores permitidos vienen dados por las constantes: Java.awt.Frame.NORMAL No se encuentra ni minimizada ni maximizada. Java.awt.Frame.ICONIFIED Minimizada. Java.awt.Frame.MAXIMIZED_BOTH - Maximizada. Java.awt.Frame.MAXIMIZED_HORIZ Maximizada horizontalmente. Java.awt.Frame.MAXIMIZED_VERT Maximizada verticalmente. public void setlocation(int x, int y) Establece la posición de la esquina superior izquierda de la ventana.

public void setvisible(boolean visible) Muestra u oculta la ventana. Crear los componentes Para crear un componente, basta crear una instancia de la clase determinada y configurar ese objeto para que se adapte a nuestras necesidades. Vamos a ver algunos métodos de los aspectos gráficos de algunos de los componentes más usados: JButton public JButton(String texto) - Crea un botón con el texto indicado. JLabel public JLabel(String texto) - Crea una etiqueta con el texto indicado. public String gettext() - Devuelve el texto de la etiqueta. public void settext(string texto) - Pone el texto indicado en la etiqueta. JTextField public JTextField(int columnas) - Crea un Campo de Texto sencillo con el número de columnas especificado. public String gettext() - Devuelve el texto del campo de texto. A medida que vayamos avanzando en el curso iremos viendo los componentes más importantes y los métodos que permiten configurar su aspecto gráfico. Crear un contenedor Como hemos visto, en existen muchos tipos de contenedores, dependiendo de la forma que manejen los componentes que tienen dentro. Por ejemplo, existe un contenedor con pestañas y en cada pestaña va un componente, es el JTabbedPane. También existe otro contenedor dividido en dos partes para dos componentes, y la separación puede cambiar de posición, es el JSplitPane. El que nosotros vamos a usar, para construir nuestro sencillo interfaz, es el JPanel, el más sencillo de todos, que muestra todos los componentes a la vez distribuidos en su interior. Más adelante veremos como podemos configurar la forma de distribuir los componentes. El método constructor de la clase JPanel es: public JPanel() Crea un contenedor simple Asociar los componentes al contenedor para que los muestre al hacerse visible Para asociar componentes a un contenedor, de forma que se muestren dentro cuando el contenedor se muestre por pantalla, usamos el siguiente método de la clase JPanel: public void add( JComponent componente ) Asocia el componente al contenedor, de forma que se muestre el componente al mostrarse el contenedor. NOTA: Por motivos de compatibilidad la cabecera real del método es public void add(component comp). Puesto que vamos a trabajar con podemos considerar que la cabecera es la indicada.

Asociar el contenedor a la ventana para que le muestre al hacerse visible Para asociar un contenedor a la ventana de aplicación, de forma que se muestre dentro cuando la ventana se muestre por pantalla, usaremos el siguiente método de la clase JFrame: public void setcontentpane(jcomponent paneldecontenido) Establece el componente pasado como parámetro como contenido de la ventana. NOTA: Por motivos de compatibilidad la cabecera real del método es public void setcontentpane(container contentpane). Puesto que vamos a trabajar con podemos considerar que la cabecera es la indicada. Ejemplo de código de una interfaz grafico //importamos la libreria, un package import javax.swing.*; import java.awt.event.*; import java.awt.*; //La clase frame extiende a JFrame class frame extends JFrame { //el constructor public frame(){ //Este es uno de los métodos que nuestra clase frame //a heredado de JFrame. Pone un titulo a la ventana settitle("hola!!!"); //Igual que el anterior, pero ahora le da un tamaño setsize(300,200); //Le pido al frame su objeto contenedor Container contentpane = getcontentpane(); //Creo un objeto de tipo JPanel JPanel panel = new JPanel(); //Creo un objeto tipo label JLabel hola = new JLabel("Hola Mundo"); JLabel hola1= new JLabel("Estamos en clase de Interfaces de Usuario"); //añado el panel en el objeto contenedor del frame contentpane.add(panel); // Pongo el color de fondo del panel de color rojo //añado los labels en el objeto contenedor del frame contentpane.add(hola); contentpane.add(hola1);

//Esta es la clase auxiliar y tiene el main de la aplicación public class ejem1{ public static void main (String[] args){ //creamos un objeto de tipo frame JFrame frame = new frame(); //Hacemos que los objetos se distribuyan automaticamente en el contenedor frame.getcontentpane().setlayout(new FlowLayout()); //Invoco sobre este objeto uno de los métodos que //ha heredado de frame. Hacer visible el frame. Los frame por //defecto son in visibles. Tambien se puede con show. frame.setvisible(true); Ejercicio 1 Ya hemos visto los métodos y clases para la creación de un sencillo interfaz de usuario, partiendo de esta información, crea la interfaz grafico teniendo en cuenta los componentes que se muestran en la Figura 2.