MATRICES, ARREGLOS O ARRAYS DE ELEMENTOS GRÁFICOS EN JAVA. EJEMPLO CON JLABEL Y JTEXTFIELD. (CU00930C)



Documentos relacionados
INSTRUCCIÓN PEDIR EN JAVA CON JTEXTAREA Y MOSTRAR CON JLABEL. SETBOUNDS Y SETTEXT. EJEMPLOS. (CU00929C)

INGRESAR DATOS CON UN CONTROL VISUAL EN JAVA. CLASE JTEXTFIELD Y MÉTODO GETTEXT. EJEMPLOS (CU00928C)

REPASO ARRAYS MULTIDIMENSIONALES EN JAVA. DECLARACIÓN Y USO. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00905C)

MATRICES Y ARRAYS (ARREGLOS) MULTIDIMENSIONALES EN PHP. EJERCICIOS RESUELTOS. EJEMPLOS (CU00824B)

GENERACIÓN DE NÚMEROS ALEATORIOS EN JAVA. CLASE RANDOM. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00908C)

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

CLASE DATE DEL API JAVA. MÉTODOS BEFORE, AFTER, TOLOCALESTRING, TOGMTSTRING Y GETTIME. EJEMPLOS. (CU00924C)

LA MÁQUINA VIRTUAL JAVA (JVM). COMPILADOR E INTÉRPRETE. BYTECODE, CÓDIGO FUENTE Y CÓDIGO MÁQUINA. (CU00611B)

Ejercicios ejemplos resueltos Visual Basic con Labels, Textbox, y Buttons (Command Buttons) (CU00322A)

Qué es y para qué sirve el lenguaje de etiquetas XML (extensible markup language)? (DV00202A)

INTERFACE LIST. CLASE LINKEDLIST DEL API JAVA. EJERCICIO RESUELTO Y DIFERENCIAS ENTRE ARRAYLIST Y LINKEDLIST (CU00921C)

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFAZ CLONEABLE DE JAVA. MÉTODO CLONE() PARA CLONAR OBJETOS. (CU00912C)

USO DE LOS OBJETOS JLABEL, JTEXTFIELD Y JBUTTON

INTERFACES SET Y SORTEDSET DEL API DE JAVA. CLASES HASHSET Y TREESET. EJEMPLO. DIFERENCIAS ENTRE ELLAS. (CU00921C)

USO DEL OBJETO JLIST

Programación de sistemas

Ángel Villa Brasero - Actividad Foro Unidad 2 26/11/ Clases de la aplicación. ApNumeroPerfecto.java. VentanaPrincipal.java

INTERFACE LIST DEL API JAVA. CLASES ARRAYLIST, LINKEDLIST, STACK, VECTOR. EJEMPLO CON ARRAYLIST. (CU00920C)

INTERFACE ITERATOR DEL API JAVA. MÉTODO REMOVE PARA BORRAR OBJETOS EN COLECCIONES. EJERCICIOS Y EJEMPLO RESUELTO. (CU00919C)

INTRODUCCION A LA PROGRAMACION EN JAVA

TIPOS DE BUCLES O CICLOS DE REPETICIÓN EN PHP: WHILE, DO WHILE Y FOR. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00822B)

Modulo 11. Clases y Objetos en Java

IC Programación Orientada a Objetos I. Programación de Interfaces Gráficas de Usuario (GUI) 2

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

QUÉ ES Y PARA QUÉ SIRVE JAVASCRIPT? EMBEBER JAVASCRIPT EN HTML. ALTERNATIVAS. EJEMPLO SENCILLO. (CU00730B)

Desarrollando aplicaciones mediante componentes

EJEMPLO DE CÓDIGO JAVA BÁSICO. CREAR CLASES CON CAMPOS, CONSTRUCTOR Y MÉTODOS. LA PALABRA CLAVE THIS (CU00652B)

EJERCICIOS BÁSICOS DE PROGRAMACIÓN EN C RESUELTOS. VARIABLES, PRINTF, SCANF, CÁLCULOS. (CU00527F)

Select Case Visual Basic. Palabras clave To, Is. Instrucción Según (Caso) Hacer. Ejemplos y ejercicios resueltos (CU00325A)

EJERCICIO GUIADO. JAVA: DISEÑO DE FORMULARIOS DESDE CÓDIGO

CONCEPTO O DEFINICIÓN DE HERENCIA EN JAVA Y EN PROGRAMACIÓN ORIENTADA A OBJETOS. QUÉ ES? EXTENDS. EJEMPLOS. (CU00684B)

Programación Avanzada. Juan Manuel Fernández. Curso 2011 Ejemplo de uso de sockets desde aplicaciones visuales. Usan un hilo en banco.

Uso de centinelas para la toma de decisiones. Esquemas y diagramas de flujo. Ejemplos resueltos. (CU00167A)

BORRAR DATOS EN TABLAS CON PHP Y MySQL. DIFERENCIA ENTRE DELETE Y TRUNCATE. SELECT CON WHERE. (CU00844B)

OBJETOS CONTENEDORES JPANEL Y JSCROLLPANEL

EJERCICIOS RESUELTOS. EJEMPLOS CON NÚMEROS ALEATORIOS EN JAVA. RANDOM NEXTINT, NEXTDOUBLE, ETC. (CU00909C)

PRESENTACIÓN DE LA ASIGNATURA E INTRODUCCIÓN A LA PROGRAMACIÓN VISUAL

PARTE TEÓRICA - TEST [2,5 PUNTOS]:

Tema 7: Polimorfismo. Índice

Ejemplo de GUI con Swing

Clase adicional 2. Estructuras básicas de control. Temas

5.CREACIÓN DE TABLAS.

LA CLASE VECTOR DEL API JAVA. MÉTODOS TRIMTOSIZE Y ENSURECAPACITY EJEMPLO Y EJERCICIOS RESUELTOS. (CU00922C)

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE ITERABLE DEL API DE JAVA Y MÉTODO ITERATOR. RECORRER COLECCIONES DE OBJETOS (CU00915C)

La ayuda y referencia de Visual Basic y otros recursos como herramientas para los programadores. (CU00306A)

Parte I : Características generales de Joomla. FrontEnd, BackEnd,plantillas, etc. (CU00405A)

Pasos requeridos para establecer el manejo de eventos para un componente de GUI.

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

Desarrollo de Aplicaciones en Java INF 473

Programación Avanzada, curso 2011 Juan Manuel Fernández Ejemplo muy simple del uso de Tablas

INTERFACE COLLECTION DE JAVA.UTIL DEL API JAVA. EJERCICIOS Y EJEMPLOS RESUELTOS. MÉTODOS ADD, REMOVE, SIZE. STREAMS (CU00917C)

Declaración de variables (integer, single, double, boolean, etc.) en Visual Basic. Dim. Ejemplos. (CU00309A)

CONDICIONALES EN PHP: IF ELSE, IF ELSE IF. CONDICIONAL TERNARIO. EJEMPLOS DE USO Y EJERCICIOS RESUELTOS. (CU00817B)

Ingeniería del Software Separación entre Presentación y Lógica del Negocio

Configuración de módulos con Joomla: orden, acceso, asignación. Ejemplo con un menú. (CU00416A)

Formato para prácticas de laboratorio

USO DEL OBJETO JTABLE

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

int[] nombrearray1; int nombrearray2[];

1 Funcionalidades Java que se presentan en esta práctica

LA CLASE ARRAYLIST DEL API DE JAVA. MÉTODOS ADD, SIZE, ETC. CONCEPTO DE CLASE GENÉRICA O PARAMETRIZADA (CU00665B)

INTERFACE COMPARATOR. DIFERENCIAS ENTRE COMPARATOR Y COMPARABLE. CLASE COLLECTIONS. EJERCICIOS RESUELTOS. (CU00918C)

Segundo Certamen Tiempo: 100 minutos

Interfaces gráficas. Jose Jesus García Rueda

Ejercicio ejemplo resuelto de uso de arrays (arreglos) dinámicos en pseudocódigo I (CU00214A)

ACTIVIDAD PRÁCTICA 5 BASES DE DATOS

CORPORACIÓN UNIFICADA NACIONAL DE EDUCACIÓN SUPERIOR FACULTAD DE INGENIERIAS LINEA INFORMÁTICA GUIA FORMATOS Y FORMATOS CONDICIONALES

1.2. Es Java un lenguaje ideal para aprender a programar? 1.4. Cuáles son las versiones y distribuciones Java y cuál usar?

Desarrollando aplicaciones mediante componentes

MICROSOFT POWERPOINT MICROSOFT POWERPOINT Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

QUÉ ES JAVASCRIPT? PRINCIPALES USOS. SERVIDOR Y CLIENTE. HTML, CSS Y PROGRAMACIÓN. EFECTOS DINÁMICOS (CU01103E)

Gestión y organización de artículos Clasificación en secciones, categorías y subcategorías Joomla. Ejemplos. (CU00422A)

Programación Conducida por eventos Event-driven programming. Agustín J. González ELO329/ELO330

PROGRAMACIÓN VISUAL E.A.P. SISTEMAS E INFORMATICA UNIVERSIDAD NACIONAL DEL SANTA CURSO: MICROCOMPUTACION III FACULTA DE INGENIERIA.

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Práctica 1: Introducción a SPSS 1

Desarrollo de aplicaciones con JAVA, JCreator, JDeveloper NetBeans

EJERCICIO Y EJEMPLO RESUELTO: USO DE LA INTERFACE COMPARABLE Y MÉTODO COMPARETO DE JAVA. COMPARAR OBJETOS (CU00913C)

CURSO : ESTRUCTURA DE DATOS DOCENTE : ING. JUAN ZEVALLOS VALLE

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

Graficación de Funciones Trigonométicas con OpenOffice.org Calc Graficar la Función Seno con OpenOffice.org Calc

Interfaces gráficas de usuario

La Lección de hoy es sobre las Matrices: Suma, Resta, y Multiplicación Escalar.

1.1 CONFIGURACIÓN DE LAS OPCIONES DE WORD

GUÍA DE LABORATORIO 5 ARREGLOS DE UNA DIMENSIÓN

DESCARGAR E INSTALAR EL CLIENTE FTP FILEZILLA. TRABAJAR EN UN SERVIDOR REMOTO. (CU00810B)

Programación de sistemas

Uso de Java Swing. Noviembre de 2013

Apuntadores en C y C++

Declaración de variables. Sentencias de entrada/salida

ARREGLOS EN. Nota: El autor.

CONFIGURACIÓN BÁSICA DE NOTEPAD++. AUTOCOMPLETAR Y OTRAS VENTAJAS DE NOTEPAD++. (CU00709B)

Construir una Interfaz Gráfica

Transparencias de Java. Tema 7: AWT. Uploaded by Ingteleco

IIC1103 Introducción a la Programación. Ayudantía: Archivos

Programa educativo Academia NOMBRE DE LA ASIGNATURA CLAVE DE LA ASIGNATURA PLAN DE ESTUDIOS. Paradigmas de programación IT0427 IT2010

HP Color LaserJet serie CP Tareas de impresión

Transcripción:

APRENDERAPROGRAMAR.COM MATRICES, ARREGLOS O ARRAYS DE ELEMENTOS GRÁFICOS EN JAVA. EJEMPLO CON JLABEL Y JTEXTFIELD. (CU00930C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha revisión: 2029 Resumen: Entrega nº30 curso Lenguaje de programación Java Nivel Avanzado I. Autor: Walter Sagástegui

MATRICES O ARRAYS DE ELEMENTOS GRÁFICOS Ya hemos visto la utilidad del uso de arrays de variables. Por otro lado, estamos viendo que el API Java nos provee de clases para mostrar elementos gráficos, con algunas propiedades que recuerdan a las variables. Por ejemplo, el contenido de un JTextField, "recuerda" al contenido de una variable. Siendo esto así, se comprenderá que igual que es interesante trabajar con arrays de variables, puede resultar atractivo trabajar con arrays de elementos gráficos. A continuación veremos el código de un programa que hace uso de un array de controles, y que explicaremos detalladamente más abajo. En este formulario, hemos definido 6 JLabels denominados label[0], label[1], label[2], label[3], label[4], label[5] así como 6 JTextFields, denominados text[0], text[1], text[2], text[4], text[5]. También podríamos haberlos nombrado simplemente como label0, label1, label2, label3, label4, label5, etc. Pero al igual que ocurre con las variables, resultará mucho más cómodo de cara al tratamiento de datos el nombrarlas como una matriz de elementos gráficos, que nos permite un tratamiento automatizado. Escribe el código, compílalo y comprueba sus resultados.

//(1) PAQUETE import javax.swing.jlabel; import javax.swing.jtextfield; import javax.swing.jpanel; import javax.swing.jframe; import javax.swing.swingconstants; import javax.swing.borderfactory; import javax.swing.border.border; import java.awt.color; import java.awt.rectangle; //(2) FORMULARIO public class Programa extends JFrame { //(3) CONTROLES DEL FORMULARIO JPanel jpanel = (JPanel) this.getcontentpane(); JLabel[] label = new JLabel[6]; //Declaración del array de etiquetas JTextField[] text = new JTextField[6]; //Declaración del array de cajas de texto Border border = BorderFactory.createLineBorder(Color.black, 1); //(4) CONSTRUCTOR DEL FORMULARIO public Programa() { //(5) PROPIEDADES DEL CONTENEDOR jpanel.setlayout(null); jpanel.setbackground(color.lightgray); for(int i = 0; i < label.length; i++) { label[i] = new JLabel(); //Llenamos el array de etiquetas text[i] = new JTextField(); //Llemanos el array de cajas de texto //(6) PROPIEDADES DE LOS CONTROLES label[i].setbounds(new Rectangle(15, (i+1)*40, 60, 25)); label[i].settext("dato "+(i+1)); label[i].setborder(border); label[i].sethorizontalalignment(swingconstants.center); text[i].setbounds(new Rectangle(100, (i+1)*40, 60, 25)); //(7) ADICION DE LOS CONTROLES AL CONTENEDOR jpanel.add(label[i], null); jpanel.add(text[i], null); //(8) PROPIEDADES DEL FORMULARIO setsize(200,330); settitle("form1"); setvisible(true); //(9) METODOS DEL FORMULARIO public static void main(string arg[]) { new Programa();

Ahora nos centraremos en explicar el código del programa expuesto anteriormente. //(1) PAQUETE import javax.swing.jlabel; import javax.swing.jtextfield; import javax.swing.jpanel; import javax.swing.jframe; import javax.swing.swingconstants; import javax.swing.borderfactory; import javax.swing.border.border; import java.awt.color; import java.awt.rectangle; En este primer bloque de código, declaramos las rutas donde están ubicadas todas las clases que estamos usando en el programa.y como recordatorio de otros artículos, import java.swing.jlabel, se interpreta de la siguiente manera importar la clase JLabel ubicado en la ruta /java/swing/, siendo java y swing carpetas. JLabel[] label = new JLabel[6]; //Declaración del array de etiquetas JTextField[] text = new JTextField[6]; //Declaración del array de cajas de texto La sentencia JLabel[] label = new JLabel[6], es una declaración de un array de controles de tipo Jlabel y el array es de tamaño 6, es decir, estamos declarando 6 variables y cada una de estas variables almacena un control de tipo Jlabel y el nombre de éstas adoptan la siguiente forma: label[0], label[1], label[2], label[3], label[4], label[5]. De igual manera, se puede interpretar lo que hace la sentencia JTextField[] text = new JTextField[6], en este caso, las variables presentan esta forma: textl[0], text[1], text[2], text[3], text[4], text[5] y cada una almacena un control de tipo JTextField. Border border = BorderFactory.createLineBorder(Color.black, 1); Esta sentencia, es la declaración de una variable de nombre border, que almacena un borde, con la característica de que es de color negro y de un grosor de 1, pudiendo tanto el color como el grosor del borde cambiar a gusto del programador. Por ejemplo, si queremos un borde rojo en lugar de black, pondríamos red y si deseamos un grosor mayor, podemos poner 2 en lugar de 1, hasta obtener la característica del borde que nos agrade para la etiqueta JLabel. Más adelante, en el código, se usa esta característica del borde para ponerlo como atributo de nuestras etiquetas.

for(int i = 0; i < label.length; i++) { label[i] = new JLabel(); //Llenamos el array de etiquetas text[i] = new JTextField(); //Llemanos el array de cajas de texto La sentencia for en el programa es usada para manejar los arrays de controles que hemos declarado previamente. El uso del for en Java lo estudiaremos más adelante, por lo que no debemos preocuparnos ahora por entender la sintaxis. Simplemente decir que vamos a crear tantas etiquetas y tantas cajas de texto como hayamos definido; en nuestro caso, crearemos 6 etiquetas y 6 cajas de texto. Lo primero a destacar es el atributo label.length, que nos da de forma automática el tamaño de los arrays mencionados, que en este caso es de tamaño 6. También podíamos haber usado text.length, que nos da igualmente el valor 6, ya que text y label son arrays declarados, ambos de tamaño 6. Por otro lado, la sentencia label[i] = new JLabel(); toma la siguiente forma por cada iteración de la sentencia for: label[0] = new JLabel(); label[1] = new JLabel(); label[2] = new JLabel(); label[3] = new JLabel(); label[4] = new JLabel(); label[5] = new JLabel(); Cada una de estas 6 variables label[0], label[5], toma como valor un objeto de tipo JLabel o lo que es lo mismo, un control de tipo JLabel. De la misma manera, podemos interpretar la sentencia text[i] = new JTextField(); text[0] = new JTextField(); text[1] = new JTextField(); text[2] = new JTextField(); text[3] = new JTextField(); text[4] = new JTextField(); text[5] = new JTextField(); for(int i = 0; i < label.length; i++) { //(6) PROPIEDADES DE LOS CONTROLES label[i].setbounds(new Rectangle(15, (i+1)*40, 60, 25)); label[i].settext("dato "+(i+1)); label[i].setborder(border); label[i].sethorizontalalignment(swingconstants.center); text[i].setbounds(new Rectangle(100, (i+1)*40, 60, 25));

Esta parte del código está dentro de la sentencia for que vimos antes; por lo tanto, en cada iteración, estas sentencias, toman la forma siguiente. Sólo analizaremos cuando i = 0.Para los siguientes valores 1, 2, 3, 4 y 5, se produce la misma acción. (1) label[0].setbounds(new Rectangle(15, (0+1)*40, 60, 25)); (2) label[0].settext("dato "+(0+1)); (3) label[0].setborder(border); (4) label[0].sethorizontalalignment(swingconstants.center); (5) text[0].setbounds(new Rectangle(100, (i+0)*40, 60, 27)); Aclarar que las sentencias numeradas con (1), (2), (3), (4) y (5), ya fueron explicadas en anteriores entregas; vamos a explicar aspectos generales de lo que hacen en el programa. En (1), tenemos la sentencia encargada de ubicar la etiqueta label[0] dentro del formulario, en una coordenada determinada, así como con un ancho y una altura específica. Resaltaremos el artificio hecho para espaciar una etiqueta de otra, de tal forma, que estén en filas distintas y no se superpongan en el formulario. Por ejemplo, si i = 0, entonces (i +1)*40 = 40, es decir, que esta primera etiqueta label[0], se ubica dentro del formulario en la fila 40 y si analizamos cuando i = 1, vemos que (i+1)*40 = 80, significa que la etiqueta label[1], se ubica dentro del formulario en la fila 80. En (2), tenemos la sentencia encargada de poner un texto a la etiqueta label[0] en el formulario, en este caso cuando i = 0, la etiqueta label[0] muestra el texto Dato 1 y cuando i = 1, la etiqueta label[1] muestra el texto Dato 2 y así sucesivamente con las demás valores para i. En (3), tenemos la sentencia encargada de poner un borde a nuestra etiqueta label[0], la definición de las características de este borde, como el color y grosor, ya fueron explicados más arriba. En (4), tenemos la sentencia encargada de centrar el texto del punto (2). En (5) tenemos la misma sentencia de (1), pero en este caso ubica la caja de texto dentro del formulario en una coordenada determinada, así como el ancho y altura de la etiqueta text[i]. Próxima entrega: CU00931C Acceso al curso completo en aprenderaprogramar.com -- > Cursos, o en la dirección siguiente: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&itemid=180