Está en la página 1de 28

JAVA

Comentarios // comentarios para una sola lnea /*comentarios de una o ms lneas */ /* * comentario de documentacin, de una o ms lneas */ Caracteres especiales Carcter " \n " " \t " Significado Nueva lnea (enter). Muestra el resultado en controles TextArea y datos tipo string. Tabulador (tab). Muestra el resultado en slo en controles TextArea, se puede utilizar datos tipo string para luego mostrarlo en un TextArea.

Variables Tipos de datos primitivos Tipo de datos byte short int long Descripcin . Contiene un valor numrico comprendido entre: -128 y 127 . Tiene 8 bits de longitud. . Contiene un valor entero comprendido entre: -32768 y +32767 . Tiene 16 bits de longitud. . Contiene un valor entero comprendido entre: -2147483648 y +2147483647 . Tiene 32 bits de longitud. . Contiene un valor entero comprendido entre: -9223372036854775808 y +9223372036854775807 . Tiene 64 bits de longitud . Contiene nmeros decimales comprendidos entre: -3,40282347E+38 y 1,40239846E-45 . Tiene 32 bits de longitud. . Contiene nmeros decimales comprendidos entre: -1,7E308 y +1,7E308 . Tiene 14 dgitos . Tiene 64 bits de longitud. . Contiene un caracter de tipo unicode. . Tiene 16 bits de longitud. . Los cdigos de los caracteres de tipo unicode que puede representar est comprendidos entre: 0 y 65535 Ejemplo: F = ' 5 ' . Contiene varios caracteres . Contiene "True" o "False" . Tiene 8 bits de longitud 1

float double

char

string boolean

Tipos de datos clases envoltorio Tipo de datos Byte Short Integer Long Descripcin . Contiene un valor numrico comprendido entre: -128 y 127 . Tiene 8 bits de longitud. . Contiene un valor entero comprendido entre: -32768 y +32767 . Tiene 16 bits de longitud. . Contiene un valor entero comprendido entre: -2147483648 y +2147483647 . Tiene 32 bits de longitud. . Contiene un valor entero comprendido entre: -9223372036854775808 y +9223372036854775807 . Tiene 64 bits de longitud . Contiene nmeros decimales comprendidos entre: -3,40282347E+38 y 1,40239846E-45 . Tiene 32 bits de longitud. . Contiene nmeros decimales comprendidos entre: -1,7E308 y +1,7E308 . Tiene 14 dgitos . Tiene 64 bits de longitud. . Contiene un caracter de tipo unicode. . Tiene 16 bits de longitud. . Los cdigos de los caracteres de tipo unicode que puede representar est comprendidos entre: 0 y 65535 . Contiene varios caracteres . Contiene "True" o "False" . Tiene 8 bits de longitud

Float Double

Character

String Boolean

Declaracin de variables <tipo de dato> <nombre de la variable>; Arreglos Arreglos comunes * Arreglos Unidimensionales - Declarar: <tipo de dato> <nombre del arreglo> [] ; - Instanciar: <nombre del arreglo> = new <tipo de dato> [ <nmero de filas> ]; - Otra forma de declarar e instanciar a la vez: <tipo de dato> <nombre del arreglo> [] = new <tipo de dato> [ <nmero de filas> ]; Observacin: El <tipo de dato> debe ser igual en ambos lados. - Asignar valores: . 1era forma: <nombre del arreglo> [ <posicin en la fila> ] = valor; . 2da forma: declarando: <tipo de dato> <nombre del arreglo> [] = {valor 1, valor 2, ..., valor n }; Observacin: . La <posicin en la fila> comienza con cero. * Arreglos Bidimensionales - Declarar: <tipo de dato> <nombre del arreglo> [][]; - Instanciar: <nombre del arreglo> = new <tipo de dato> [<nmero de filas>][<nmero de columnas>]; 2

- Otra forma de declarar e instanciar a la vez: <tipo de dato> <nombre del arreglo> [][] = new <tipo de dato> [<nmero de filas>][<nmero de columnas>]; Observacin: El <tipo de dato> debe ser igual en ambos lados. - Asignar valores: . 1era forma:<nombre del arreglo> [ <posicin de la fila> ][ <posicin de la columna> ] = valor; . 2da forma: declarando <tipo de dato> <nombre del arreglo> [][]={ {valor 1 de la fila, valor 2 de la columna}, {valor 3 de la fila, valor 4 de la columna}...{valor n de la fila, valor m de la columna} }; Observacin: . La [ <posicin de la fila> ] y la [ <posicin de la columna> ] comienzan con cero. . En la 2da forma de asignar valores, la cantidad de llaves dentro de las llaves {} principales indica el nmero de filas y la cantidad de valores dentro de cada llave interior indica el nmero de columnas del arreglo. * Nota: - Error en un arreglo S=<nombre del arreglo> [i].toString();//SALE ERROR SI NO SE HA GUARDADO //UN DATO EN ESA POSICION S=String.ValueOf(<nombre del arreglo> [i]);//NO SALE ERROR, PERO SI "NULL", //SI ES QUE NO SE HA GUARDADO U //EN ESA POSICION - Los arreglos se deben de instanciar en el evento opened del formulario. Vectores * Librera para usar un vector: import java.util.*; * Declarar un vector: Vector <nombre del vector>; * Formas de instanciar un vector: - <nombre del vector> = new Vector (<dimensin>, <nmero a crecer al rebasar el tamao>); - <nombre del vector> = new Vector (<dimensin>) //SI SE REBASA EL TAMAO, LA DIMENSION DEL VECTOR SE DUPLICA - <nombre del vector> = new Vector ();//POR DEFECTO TIENE UNA DIMENSION DE 10, SI SE REBASA EL TAMAO, LA DIMENSION SE DUPLICA * Aadir elementos al vector: <nombre del vector>.addElement("<elemento>"); * Insertar un elemento en una posicin especfica del vector: <nombre del vector>.insertElementAt("<elemento>", <posicin en el vector>); * Cantidad de elementos que guarda actualmente un vector: <nombre del vector>.size();//DEVUELVE UNA VALOR TIPO ENTERO * Cantidad de elementos que guarda como mximo un vector: <nombre del vector>.capacity();//DEVUELVE UN VALOR TIPO ENTERO * Eliminar todos los elementos de un vector: <nombre del vector>.removeAllElements(); * Eliminar un elemento del vector: - Por elemento: <nombre del vector>.removeElement("<elemento>"); - Por posicin: <nombre del vector>.removeElementAt(<posicin>); 3

* Obtener un elemento de un vector: <nombre del vector>.elementAt(<posicin>).toString; * Otra forma de acceder al elemento de un vector: - Tipo de dato Enumeration: . Declarar un tipo de dato llamado Enumeration: Enumeration <Nombre del enumerador>; . Asignar un vector a un tipo de dato Enumeration: <Nombre del enumerador> = <nombre del vector>.elements(); - Funciones del tipo de dato Enumeration: . Ir al siguiente elemento: <nombre del enumerador>.nextElement(); . Saber si hay ms elementos por recorrer: <nombre del enumerador>.hasMoreElements(); //DEVUELVE TRUE SI HAY MAS ELEMENTOS POR RECORRER Y //FALSE CUANDO NO HAY MAS ELEMENTOS * Observacin: - Slo se podr aadir elementos tipo cadena al vector. - Se podr eliminar elementos tipo String. - El nmero de fila, posicin o ndice inicial de un vector comienza con cero. - No se puede instanciar un dato tipo Enumeration. - Slo se podr asignar un vector a un tipo de dato Enumeration cuando el vector tenga por lo menos un elemento.

Sentencias de control de programa Condicionales * If (condicin ) sentencia; * if (condicin ) { sentencia 1; . . . sentencia n; } else { sentencia 2; . . . sentencia m; } * if (condicin) { sentencia 1; . . . sentencia n; } else if (condicin) { sentencia 2; . . . sentencia m; } . . . else { sentencia 3; . . . sentencia m; } Control de flujo * switch (opcin) { case 1: sentencia 1; break; case 2: sentencia 2; break: . . . case n: sentencia n; break; default: sentencia por efecto; } Bucle repetitivo * while (condicin) { sentencia 1; . . . sentencia n; } * do { sentencia 1; . . . sentencia n; } while (< condicin lgica >); * for ( varCont =<valor inicial>; varCont< n; varCont++) sentencia; * for ( varCont =<valor inicial>; varCont< n; varCont++) { sentencia 1; . . . sentencia n; }

Operadores Operadores aritmticos + * / % Descripcin Suma Resta Multiplicacin Divisin Devuelve el resto de una divisin

Operadores incrementales ++ --

Descripcin Incremento de 1 en 1 Decremento de 1 en 1

Operadores de asignacin = += -= *= /= %=

Descripcin Asignacin Acumula el incremento de un valor numrico Acumula el decremento de un valor numrico Acumula el producto de un valor numrico Acumula el cociente de un valor numrico Acumula el residuo de un valor numrico

Uso op1 = op2 op1 += op2 op1 -= op2 op1 *= op2 op1 /= op2 op1 %= op2

Expresin equivalente op1 = op2 op1 = op1 + op2 op1 = op1 - op2 op1 = op1 * op2 op1 = op1 / op2 op1 = op1 % op2

Operadores relacionales == != > < >= <=

Descripcin Igualdad Distinto Mayor que Menor que Mayor igual que Menor igual que

Operadores lgicos && || ! &

Nombre AND OR negacin AND

Uso op1 && op2 op1 || op2 ! op op1 & op2

Resultado true si op1 y op2 son true. Si op1 es false ya no se evala op2 true si op1 u op2 son true. Si op1 es true ya no se evala op2 true si op es false y false si op es true true si op1 y op2 son true. Siempre se evala op2

Operadores para cadenas Unir cadenas: + Funciones de cadena


* Extraer un caracter: charAt String <nombre variable 1>; <nombre variable 1> = "Valor tipo cadena"; char <nombre variable 2>; <nombre variable 2> = <nombre variable 1>.charAt ( <posicin del caracter a extraer> ); Ejemplo: String c; c="Jos"; char f; f = c.charAt (0); JOptionPane.showMessageDialog(null, String.valueOf(f) ); //Resultado: j Observacin: La <posicin del caracter a extraer> comienza con cero. * Comparar alfabticamente dos cadenas tipo string: compareTo String <nombre de variable 1>; String <nombre de variable 2>; <nombre de variable 1> = "valor tipo cadena"; <nombre de variable 2> = "valor tipo cadena"; int <nombre de variable 3>; <nombre de variable 3> = <nombre de variable 1>.compareTo ( <nombre de variable 2 > ); Ejemplo: String c; String d; c="a"; d="b"; int r; r = c.compareTo(d); Observacin: Si el primero de los dos strings es alfabticamente primero que el segundo, el resultado ser un nmero menor a cero, de lo contrario ser mayor a cero. Sin son iguales dar como resultado cero. El resultado es nmero que indica la diferencia de posicin entre las 2 letras: Ejemplo: entre "a" y "b" la distancia es -1, es decir una posicin de diferencia entre "a" y "c" la distancia es -2, es decir dos posiciones de diferencia * Unir dos cadenas:

String <nombre de variable 1>; String <nombre de variable 2>; String <nombre de variable 3>; <nombre de variable 1> = "valor tipo cadena"; <nombre de variable 2> = "valor tipo cadena"; <nombre de variable 3> = <nombre de variable 1>.concat (<nombre de variable 2>); Ejemplo: String c; String d; String e; c="Jose "; d="Antonio"; e = c.concat(d);//RESULTADO: Jose Antonio * Comparar la igualdad de dos cadenas String <nombre de variable 1>; String <nombre de variable 2>; boolean <nombre de variable 3>; <nombre de variable 1> = "valor tipo cadena"; <nombre de variable 2> = "valor tipo cadena"; <nombre de variable 3>.equals (<nombre de variable 2>); Observacin: El resultado ser true o false. Ejemplo: String c; String d; boolean f; c="A; d="A"; f = c.equals(d); //RESULTADO: true * Saber si una cadena est dentro de otra: String <nombre de variable 1>; String <nombre de variable 2>; int <nombre de variable 3>; <nombre de variable 1> = "valor tipo cadena"; <nombre de variable 2> = "valor tipo cadena"; <nombre de variable 3> = <nombre de variable 1>.indexOf (<nombre de variable 2>); Observacin: El resultado ser la posicin de la primera letra de la cadena buscada. Si no se encuentra se obtendr -1 Ejemplo:

String c; String d; int f; c="Jose"; d="se"; f = c.indexOf(d);//RESULTADO: 2 * Saber la longitud de una cadena: String <nombre de variable 1>; int <nombre de variable 2>; <nombre de variable 2> = <nombre de variable 1>.length ( ); Ejemplo: String a; int f; a="reso"; f = a.length();//RESPUESTA: 4 * Convertir una cadena a minscula: String <nombre de variable 1>; String <nombre de variable 2>; <nombre de variable 1> = "valor tipo cadena"; <nombre de variable 2> = <nombre de variable 1>.toLowerCase ( ); Ejemplo: String a; String b; a = "EJEMPLO"; b = a.toLowerCase ( ); //RESPUESTA: ejemplo * Convertir una cadena a mayscula: String <nombre de variable 1>; String <nombre de variable 2>; <nombre de variable 1> = "valor tipo cadena"; <nombre de variable 2> = <nombre de variable 1>.toUpperCase( ); Ejemplo: String a; String b; a = "ejemplo"; b = a.toUpperCase( ); //RESPUESTA: EJEMPLO * Quitar espacios en blanco de la derecha e izquierda de una cadena: String <nombre de variable 1>; String <nombre de variable 2>; <nombre de variable 1> = " valor tipo cadena "; <nombre de variable 2> = <nombre de variable 1>.trim( ); Ejemplo: String a; String b; a=" ejemplo b = a.trim();

";

* Extraer una parte de una cadena: String <nombre de variable 1>; String <nombre de variable 2>; <nombre variable 1> = <nombre de variable 2>.substring(<posicin inicial>, <posicin final>);

Observacin - La primera posicin comienza con cero. - La <posicin inicial> y <posicin final>, se comienzan a contar a partir de la izquierda de la cadena. Ejemplo: String a; String b; a = "Historia del arte" b = a.substring (10, 12); //RESPUESTA: del

Funciones numricas * Valor absoluto: <variable numrica> = Math.abs( <valor numrico> ); - El <valor numrico> puede ser: float, double, int y long. Devuelve un valor float, dluble, int y long. * Raz cuadrada: <variable numrica> = Math.sqrt( <valor numrico>); - El <valor numrico> es: double. Devuelve un valor double. * Redondeo comn sin obtener decimales: <variable numrica> = Math.round ( <valor numrico> ); - El <valor numrico> puede ser: double y float. Devuelve un valor tipo long cuando el <valor numrico > es double, e int cuando el <el valor numrico> es float. * Redondeo hacia abajo sin obtener decimales: <variable numrica> = Math.floor ( <valor numrico> ); - El <valor numrico> es: double. Devuelve un valor tipo double. * Redondeo hacia arriba sin obtener decimales: <variable numrica> = Math.ceil ( <valor numrico> ); - El <valor numrico> rd: double. Devuelve un valor tipo double. * Exponecial: ex <variable numrica> = Math.exp ( <valor numrico> ); - El <valor numrico> es: double. Devuelve un valor tipo double. * Logaritmo: <variable numrica> = Math.log ( <valor numrico> ); - El <valor numrico> es: double. Devuelve un valor tipo double. * Valor de E (exponecial): <variable numrica> = Math.E; - Devuelve un valor tipo double. * Valor de Pi (p): <variable numrica> = Math.PI; - Devuelve un valor tipo double. * Menor de dos nmeros: <variable numrica> = Math.min ( <valor numrico 1>, <valor numrico 2> ); - <valor numrico 1> y <valor numrico 2> pueden ser: double, float, int y long. Devuelven valores numricos iguales a los que reciben. * Mayor de dos nmeros: <variable numrica> = Math.max ( <valor numrico 1>, <valor numrico 2> ); - <valor numrico 1> y <valor numrico 2> pueden ser: double, float, int y long. Devuelven valores numricos iguales a los que reciben. * Potencia: xy <variable numrica> = Math.pow ( <valor numrico 1>, <valor numrico 2> ); - El <valor numrico 1> es X; el <valor numrico 2> es Y. 10

- El <valor numrico 1> y <valor numrico 2> es: double. Devuelve un valor tipo double. * Seno: <variable numrica> = Math.sin ( <valor numrico> ); - El <valor numrico> es: double y est en radianes. Devuelve un valor tipo double. * Coseno: <variable numrica> = Math.cos ( <valor numrico> ); - El <valor numrico> es: double y est en radianes. Devuelve un valor tipo double. * Tangente: <variable numrica> = Math.tan ( <valor numrico> ); - El <valor numrico> es: double y est en radianes. Devuelve un valor tipo double. * Arco Seno: <variable numrica> = Math.asin ( <valor numrico> ); - El <valor numrico> es: double y est en radianes. Devuelve un valor tipo double. * Arco Coseno: <variable numrica> = Math.acos ( <valor numrico> ); - El <valor numrico> es: double y est en radianes. Devuelve un valor tipo double. * Arco Tangente: <variable numrica> = Math.atan ( <valor numrico> ); - El <valor numrico> es: double y est en radianes. Devuelve un valor tipo double. * Nmero aleatorio: <variable numrica> = Math.random(); - Devuelve un valor tipo double. Observacin: El nmero que devuelve es un nmero que contiene un entero igual a cero y 16 decimales. . Si se quiere obtener un nmero entero con un lmite inferior igual a 1 y un lmite superior cualquiera: <variable numrica> = Math.round(Math.random()*<lmite superior>); Ejemplo: x = Math.random()*10; . Si se quiere obtener un nmero entero de una cifra, multiplicar por 10, de dos cifras por 100, etc * Parte entera de un cociente: <variable tipo Double> = <nmero decimal 1> / <nmero decimal 2>; - 1era forma: <variable numrica tipo int o Integer> = <variable tipo Double>.intValue( ); - 2da forma: <variable tipo int o Integer> = (int) (<variable tipo double>); * Redondear nmeros decimales: - Utilizar la siguiente librera: import java.text.*; - Redondear: NumberFormat NF; NF=NumberFormat.getInstance(); NF.setMaximumFractionDigits(2);//CANTIDAD DE DECIMALES A REDONDEAR <variable de tipo String> = NF.format( <variable de tipo Double o Long> );

11

Funciones de fecha * Colocar antes de la clase principal: import java.text.*; //PARA CAMBIAR DE FORMATO A LA FECHA Y HORA ACTUAL import java.util.Date;//FECHA Y HORA ACTUAL //PARA EXTRAER UNA PARTE DE LA FECHA Y HORA ACTUAL import java.util.Calendar; import java.util.GregorianCalendar; public class <nombre del applet> //CLASE PRINCIPAL { } * Colocar lo siguiente en cualquier evento, ya sea en el de un control, en el de formulario u otros: - Obtener la fecha y hora actual sin formato Date <nombre de variable>; <nombre de variable> = new Date( ); El <nombre de variable> mostrar algo as: Tue Mar 03 09:30:42 COT 2009 - Obtener slo la fecha y hora actual con formato Date <nombre de variable 1>; <nombre de variable 1> = new Date( ); SimpleDateFormat <nombre de variable 2>; <nombre de variable 2> = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss"); - Obtener slo la fecha actual con formato Date <nombre de variable 1>; <nombre de variable 1> = new Date( ); SimpleDateFormat <nombre de variable 2>; <nombre de variable 2> = new SimpleDateFormat("dd/MM/yyyy"); - Obtener slo la hora actual con formato Date <nombre de variable 1>; <nombre de variable 2> = new Date( ); SimpleDateFormat <nombre de variable 2>; <nombre de variable 2> = new SimpleDateFormat("hh:mm:ss"); - Obtener partes de la fecha y hora actual; y ubicacin de la fecha en el mes y ao actual Date <nombre de variable 1>; <nombre de variable 1> = new Date( ); GregorianCalendar <nombre de variable 3>; <nombre de variable 3> = new GregorianCalendar( ); <nombre de variable 3>.setTime (<nombre de variable 1>); //ESTABLECER LA FECHA Y HORA ACTUAL . Extraer el ao: <nombre de variable 3>.get(Calendar.YEAR) . Extraer el nmero de mes: <nombre de variable 3>.get(Calendar.MONTH) + 1 . Extraer el nmero de da del Mes: <nombre de variable 3>.get(Calendar.DAY_OF_MONTH) . Obtener el nmero de semana en el ao: <nombre de variable 3>.get(Calendar.WEEK_OF_YEAR) 12

. Obtener el nmero de semana en el mes: <nombre de variable 3>.get(Calendar.WEEK_OF_MONTH) -1 . Extraer la hora: <nombre de variable 3>.get(Calendar.HOUR) . Extraer los minutos: <nombre de variable 3>.get(Calendar.MINUTE) . Extraer los segundos: <nombre de variable 3>.get(Calendar.SECOND) Funciones de conversin * Byte.valueOf ("Valor tipo string"); * Short.valueOf ("Valor tipo string"); * Integer.valueOf ("Valor tipo string"); * Long.valueOf ("Valor tipo string"); * Float.valueOf ("Valor tipo string"); * Double.valueOf ("Valor tipo string"); * Character.valueOf ( ' Valor cualquiera ' ); * String.valueOf (Valor numrico); * Boolean.valueOf ("Valor tipo string"); * (String) (<variable tipo numrica>); Funciones diversas - Crear un color personalizado: 1ero: declarar una variable tipo color: <tipo de dato Color> <nombre de la variable>; 2do: crear el nuevo color: <nombre de la variable> = new Color( <rojo>,<verde> , <azul>); Observacin: los colores <rojo>, <verde> y <azul> son nmeros comprendidos entre 0 y 255. Los tres se combinan para crear un nuevo color. Crear un procedimiento: . El procedimiento se pueden crear junto a los eventos del applet, de un formulario, dentro de un control u otros. . <public o private> void <nombre del procedimiento> (<tipo de dato o control> <nombre de la variable o control>, ...) { Sentencia 1; Sentencia 2; . . . Sentencia n; } Observacin: Los parntesis siempre deben estar as no haya parmetros que escribir. - Utilizar un procedimiento: <nombre del procedimiento> (<nombre de la variable o control>, ...); Observacin: Los parntesis siempre deben estar as no haya parmetros que escribir.

13

Crear una funcin: . Las funciones se pueden crear junto a los eventos del applet, formulario, dentro de un control u otros. . <public o private> <tipo del dato a devolver> <nombre de la funcin> (<tipo de dato o control> <nombre de la variable o control>, ...) { Sentencia 1; Sentencia 2; . . . Sentencia n; } Observacin: Los parntesis siempre deben estar as no haya parmetros que escribir. - Utilizar una funcin: <nombre de una variable> = <nombre de la funcin> (<nombre de la variable o control>, ...); Observacin: Los parntesis siempre deben estar as no haya parmetros que escribir. Mensajes * Colocar antes de la clase u otro la librera para el uso del mensaje: import javax.swing.JOptionPane; public class <nombre del Applet u otro> { } * Tipos de mensajes: - De confirmacin: <Variable entera> = JOptionPane.showConfirmDialog(null, <"Mensaje ">,<"Ttulo">,<botn>,<Icono>); . El <botn> puede ser: JOptionPane.YES_NO_OPTION --> muestra los botones Si y No JOptionPane.YES_NO_CANCEL_OPTION --> muestra los botones Si, No y Cancelar JOptionPane.OK_CANCEL_OPTION --> muestra los botones Aceptar y Cancelar -1 --> muestra el botn Aceptar . Al presionar los botones devuelve un valor numrico entero representado por las siguientes constantes: JOptionPane.OK_OPTION Aceptar JOptionPane.CANCEL_OPTION Cancelar JOptionPane.YES_OPTION Si JOptionPane.NO_OPTION No JOptionPane.CLOSED_OPTION Cerrar - Que slo muestran texto JOptionPane.showMessageDialog(null,<"Mensaje ">,<"Ttulo">,<Icono>); - Ingreso de datos String <nombre de variable>; <nombre de variable> = JOptionPane.showInputDialog(null,<"Mensaje">,<"Ttulo">, <Icono>); 14

. Los botones que muestra son el Aceptar y Cancelar. Al presionar Aceptar si se ha ingresado una cadena, se devuelve la misma cadena, si se presiona Cancelar se devuelve una cadena vacia. * Observacin: . El <Icono> puede ser: JOptionPane.QUESTION_MESSAGE JOptionPane.WARNING_MESSAGE JOptionPane.INFORMATION_MESSAGE JOptionPane.ERROR_MESSAGE * Colocar cualquiera de los tipos de mensaje en cualquier evento, ya sea en el de un applet o en el de un control u otros

Crear una aplicacin en java En java NetBeans 6.9.1 Clic en el botn nuevo

Elegir en la parte izquierda Java, y en la parte derecha Java Application

15

Manejo de errores * Para controlar errores en los controles, windows, menus containers try { <sentencias> } catch(Exception Ex) { <sentencias en caso ocurra error> } - Observacin Ex tiene las siguientes propiedades: getMessage(); //DEVUELVE LA DESCRIPCION EL ERROR Applets Crear un applet en NetBeans 6.9.1 Botn derecho en paquete predeterminado, nuevo y Clase Java

Librera para usar un applet * Colocar antes de la clase principal: import java.applet.Applet; public class <nombre del applet> extends Applet { } Eventos de un applet * Evento que se produce al cargar el applet: //COLOCAR DENTRO DE LA CLASE PRINCIPAL public void init() { } 16

* Evento que se produce el descargar un applet: //COLOCAR DENTRO DE LA CLASE PRINCIPAL public void destroy() { } * Evento en donde se realizan los grficos de fondo //COLOCAR DENTRO DE LA CLASE PRINCIPAL public void paint(Graphics g) { } Observacin: - Para usar Graphics usar la libreria que va antes de la clase principal: import java.awt.*; - Para llamar al evento paint nuevamente: repaint(); Colores y grficos de fondo * Usar la libreria: import java.awt.*; //SE COLOCA ANTES DE LA CLASE PRINCIPAL * Color de fondo - Colocar dentro del evento init: public void init() { setBackground(Color.<opcion de color>); } * Grficos de fondo Colocar los siguientes mtodos dentro del evento paint del applet: public void paint(Graphics g ) { g.mtodo grfico 1( <parmetros> ); } - Mtodos grficos: . Coordenadas de un applet:

17

. Cambiar el origen de las coordenadas: g.translate(<origen de la coordenada X> , <origen de la coordenada Y>); . Graficar un texto: g.drawString(<"texto"> <variable tipo String> , <posicin en X>, <posicin en Y>); . Graficar un arreglo de caracteres: 1ero: declarar un arreglo tipo char 2do: g.drawChars(<nombre del arreglo>, <ndice inicial>, <cantidad de caracteres del arreglo a mostrar>, 0, 0); Observacin: El <ndice inicial> indica de dnde se debe empezar a mostrar los caracteres del arreglo. . Graficar una lnea: g.drawLine(<posicin X del 1er punto>, <posicin Y del 1er punto>, <posicin X del 2do punto, <posicin Y del 2do punto>); . Graficar un cuadrado o rectngulo: g.drawRect(<posicin en X>, <posicin en Y>, <ancho>,<alto>); . Graficar un cuadrado o rectngulo con bordes redondeados: g.drawRoundRect(<posicin en X>, <posicin en Y>, <ancho>,<alto>, <ancho arco>, <altura arco>); Observacin:

18

. Graficar un crculo: g.drawRoundRect(<posicin X>, <posicin Y>, <ancho N>, <alto N>, <ancho arco N>, <altura archo N>); Observacin: <ancho N>, <alto N>, <ancho arco N>, <altura archo N>, deben de ser del mismo tamao para formar el crculo. . Graficar un cuadrado o rectngulo con fondo: g.fillRect(<posicin en X>, <posicin en Y>, <ancho>,<alto>); . Graficar un cuadrado o rectngulo con bordes redondeados: g.fillRoundRect(<posicin en X>, <posicin en Y>, <ancho>,<alto>, <ancho arco>, <altura arco>); . Graficar un crculo con fondo: g.fillRoundRect(<posicin en X>, <posicin en Y>, <ancho N>, <alto N>, <ancho arco N>, <altura archo N>); Observacin: <ancho N>, <alto N>, <ancho arco N>, <altura archo N>, deben de ser del mismo tamao para formar el crculo. . Graficar una imagen: Image <variable de imagen>; <variable de imagen> = getImage(<lugar del proyecto en donde se encuentra>,<"Ruta en donde se encuentra">); Observacin: El <lugar del proyecto en donde se encuentra> se refiere a una de las carpetas que se ha creado en el proyecto y <"Ruta en donde se encuentra"> se refiere a la ruta de la imagen a partir de lo anterior. g.drawImage(<variable de imagen>, <posicin en X>, <posicin en Y>, this); Observacin: this, se refiere al lugar en donde se va a mostrar una imagen, en este caso this, que significa el applet. . Crear una imagen en memoria: Image createImage (int ancho, int alto); - Poner color a las lneas, letras y fondo de los grficos: 1ero: g.setColor(Color.<color> <variable tipo Color> ); 2do: g.<mtodo grfico a utilizar>; - Obtener el color de las lneas, letras y fondo de los grafcos: g.getColor( ); 19

Controles Librera para el control de eventos import java.awt.event.*; Declarar un control <Tipo de control> <Nombre del control> ( ); Instanciar un control <Nombre del control> = new <tipo de control> ( ); Agregar un control al applet add ( <Nombre del control> ); Ubicacin y dimensin de un control * <nombre del control>.setBounds(<ubicacin en el eje x>, <ubicacin en el eje y),<ancho>, <alto>); Observacin: Algunos controles como el Choice no permiten modificar el <alto>. Metodos y propiedades comunes - Habilitar o deshabilitar: <nombre del control>.setEnabled(true o false); - Mostrar u ocultar: <nombre del control>.setVisible(true o false); - Enfocarse: <nombre del control>.requestFocus(); - Color de fondo: <nombre del control>.setBackground(Color.<color>); - Color del texto: <nombre del control>.setForeground(Color.<color>);

Activar los eventos en los controles * Para los controles Button(clic), TextField(enter), JComboBox(clic): public class <nombre del applet> extends Applet implements ActionListener //ACTIVA EL EVENTO { public void init() { <nombre del control>.addActionListener(this); //PERMITIR QUE ACEPTE EVENTOS } public void actionPerformed(ActionEvent e) //CONTROLAR EL EVENTO { if (e.getSource()==<nombre del control>) //CONTROLAR EL EVENTO POR CADA CONTROL {

20

} } } * Para los controles Checkbox, JRadioButton, JCheckBox public class <nombre del applet> extends Applet implements ItemListener //ACTIVA EL EVENTO { public void init() { <nombre del control>.addItemListener(this); //PERMITIR QUE ACEPTE EVENTOS } public void itemStateChanged(ItemEvent e) //CONTROLAR EL EVENTO { if (e.getItemSelectable()==<nombre del control>) //CONTROLAR EL EVENTO POR CADA CONTROL { } } }

* Para el control Scrollbar: public class Applet01 extends Applet implements AdjustmentListener//ACTIVAR EL EVENTO { public void init() { <nombre del Scrollbar>.addAdjustmentListener(this); //PERMITIR QUE ACEPTE EVENTOS } public void adjustmentValueChanged(AdjustmentEvent e)//CONTROLAR EL EVENTO { if(e.getAdjustable()==<nombre del Scrollbar>) //CONTROLAR EL EVENTO POR CADA CONTROL { } } } Activar al mismo tiempo eventos de distintos controles public class <nombre del applet> extends Applet implements <Evento 1>, <Evento 2>, ,<Evento n> { 21

} Desactivar el acomodo automtico de controles * En el evento init( ) del aplet colocar: setLayout(null); Controles awt Librera para el uso de controles awt import java.awt.*; Control Button * Asignar propiedades al instanciar: <nombre del Button> = new Button(<"ttulo">); * Asignar el ttulo: <nombre del Button>.setLabel(<"ttulo">); * Obtener el ttulo escrito: <nombre del Button>.getLabel(); Control Label * Asignar propiedades al instanciar: - <nombre del Label> = new Label (<"Ttulo">); - <nombre del Label> = new Label (<"Ttulo">, Label.<alineacin>); * Asignar ttulo: <nombre del Label>.setText(<"Ttulo">); * Asignar la alineacin del ttulo: <nombre del Label>.setAlignment(Label.<alineacin>); * Obtener el ttulo: <nombre del Label>.getText( ): Observacin: La <alineacin> del ttulo puede ser LEFT, RIGHT Y CENTER. Control TextField * Asignar propiedades al instanciar: - <nombre del TextField> = new TextField (<"Texto">); - <nombre del TextField> = new TextField (<nmero de columnas>); - <nombre del TextField> = new TextField (<"Texto">,<nmero de columnas>); * Asignar un texto: <nombre del TextField>.setText(<"texto"> ); * Asignar el nmero de columnas: <nombre del TextField>.setColumns(<nmero de clumnas>); * Obtener lo que se ha escrito: <nombre del TextField>.getText( ); * Ocultar lo que se escribe por otro caracter: <nombre del TextField>.setEchoChar(*); Control CheckBox(botones de opcin casillas de verificacin) * Declarar un grupo de Checkbox para dar la apariencia de botones de opcin: CheckboxGroup <Nombre del grupo>; - Observacin: No se debe de agregar al applet. * Asignar propiedades al instanciar: Para botones de opcin: <Nombre del Checkbox> = new Checkbox(<"Ttulo">, <Nombre del Grupo>, <true false>); Para casillas de verificacin: - <nombre del Checkbox> = new Checkbox (<"Ttulo">); - <nombre del Checkbox> = new Checkbox (<"Ttulo">, <true false>); 22

Observacin: - Al escribir <Nombre del grupo>, se da la apariencia de botones de opcin, y pertenece a un grupo. - <true false> se refiere a si el control esta seleccionado o no * Asignar un checkbox(botones de opcin) a un grupo: <nombre del Checkbox>.setCheckboxGroup(<Nombre del grupo>); * Colocar ttulo: <nombre del Checkbox>.setLabel(<"Ttulo">); * Establecer como seleccionado: <nombre del Checkbox>.setState(<true false>); * Obtener el estado de seleccin: <nombre del Checkbox>.getState(); * Obtener el ttulo: <nombre del Checkbox>.getLabel(); * Saber la propiedad de cualquier checkbox que pertenece a un grupo: ((Checkbox)e.getItemSelectable()).<nombre de la propiedad o mtodo>

23

Control TextArea * Asignar propiedades al instanciar: - <nombre del TextArea> = new TextArea( <"Texto a mostrar">); - <nombre del TextArea> = new TextArea( <nmero de filas>, <nmero de columnas> ); - <nombre del TextArea> = new TextArea( <"Texto a mostrar">,<nmero de filas>, <nmero de columnas>, TextArea.<barras de desplazamiento> ); Observacin: . Cualquiera de las tres opciones anteriores se puede usar. . Las <barras de desplazamiento> pueden ser: SCROLLBARS_BOTH, SCROLLBARS_HORIZONTAL_ONLY, SCROLLBARS_VERTICAL_ONLY y SCROLLBARS_NONE * Asignar nmero de columnas: <nombre del TextArea>.setColumns ( <nmero de columnas> ); * Asignar nmero de filas: <nombre del TextArea>.setRows ( <nmero de filas> ); * Asignar texto: <nombre del TextArea>.setText ( " <texto a mostrar> " ); * Obtener todo el texto: <nombre del TextArea>.getText ( ); * Obtener slo el texto seleccionado: <nombre del TextArea>.getSelectedText ( ); Observacin: El primer caracter de un TextArea tiene la posicin cero. * Insertar una cadena en una determinada posicin: <nombre del TextArea>.insert ( " <cadena a insertar> ", <posicin inicial> ); * Insertar una cadena al final de todo lo escrito: <nombre del TextArea>.append ( " <cadena a insertar> " ); * Reemplazar una cadena: <nombre del TextArea>.replaceRange ( " <cadena a reemplazar> ", <posicin inicial> , <posicin final> ); * Obtener la posicin inicial del texto seleccionado: <nombre del TextArea>.getSelectionStart ( ); * Obtener la posicin final del texto seleccionado: <nombre del TextArea>.getSelectionEnd( ); * Seleccionar una cadena determinada: <nombre del TextArea>.select ( <posicin inicial> , <posicin final> ); <nombre del TextArea>.requestFocus( ); * Obtener la posicin inicial de una cadena buscada: <nombre del TextArea>.getText().indexOf ( " <cadena a buscar> "); Control List * Asignar propiedades al instanciar: - <nombre del List> = new List(<nmero de filas>); - <nombre del List> = new List(<nmero de filas>, <true false>); Observacin: <true false> indica la seleccin mltiple, con true hay seleccin mltiple, con false lo contrario. 24

* Agregar items al List: <nombre del list>.add ( " <item> "); * Seleccin mltiple del List: <nombre del list>.setMultipleMode ( <true> o <false> ); //CON TRUE SE PERMITE LA SELECCION MULTIPLE Y CON FALSE LO CONTRARIO * Al elegir la seleccin mltiple a true y al seleccionar varios elementos, se extrae un arreglo del cual se puede obtener lo siguiente:

Observacin: El primer ndice del arreglo extrado y del list comienzan con cero. - Obtener la longitud del arreglo extrado: <nombre del list>.getSelectedIndexes( ).length; - Obtener el ndice del List que est en una determinada posicin del arreglo extrado: <nombre del list>.getSelectedIndexes( ) [ <ndice del arreglo extrado> ] - Obtener el tem del List que est en una determinada posicin del arreglo extrado: <nombre del list>.getSelectedItems( ) [ <ndice del arreglo extrado> ] * Obtener el ndice del elemento seleccionado del List: <nombre del list>.getSelectedIndex( ); * Obtener el tem del elemento seleccionado del List: <nombre del list>.getSelectedItem( ); * Borrar todos los elementos del List: <nombre del list>.removeAll( ); * Borrar un elemento especfico del List: <nombre del list>.remove( " <item> " <nmero de ndice del List> ); * Reemplazar un tem determinado del List: <nombre del list>.replaceItem( "<nuevo tem>" , <nmero de ndice del List>); * Seleccionar un elemento del List: <nombre del list>.select( <nmero de ndice del List> ); * Desplazar los elementos del list para que se vea uno en especfico cuando la lista es extensa y no se muestre todo: <nombre del list>.makeVisible( <nmero de ndice del List> ); * Obtener el tem de un elemento en especfico del List: <nombre del list>.getItem( <nmero de ndice del List> ); * Obtener el nmero de elementos del List: <nombre del list>.getItemCount( ); 25

Control choice(combobox) * Agregar un Item: <nombre del Choice>.add(" Item "); * Obtener el ndice de un elemento seleccionado: <nombre del Choice>.getSelectedIndex( ); * Obtener el tem del elemento seleccionado: <nombre del Choice>.getSelectedItem( ); * Obtener el tem de cualquier elemento: <nombre del Choice>.getItem( <nmero de ndice> ); * Obtener el el nmero total de elementos: <nombre del Choice>.getItemCount( ); * Seleccionar un elemento : <nombre del Choice>.select( <nmero de ndice> "<tem>" ); * Eliminar un elemento: <nombre del Choice>.remove( <nmero de ndice> <tem> ); * Eliminar todos los elementos: <nombre del Choice>.removeAll( ); Control ScrollBar * Asignar propiedades al instanciar: <nombre del Scrollbar> = new Scrollbar (Scrollbar.<orientacin de control>); Observacin: La <orientacin del control> puede ser HORIZONTAL y VERTICAL * Obtener el valor mnimo: <nombre del Scrollbar>.getMinimum(); * Obtener el valor mximo: <nombre del Scrollbar>.getMaximum(); * Obtener el valor actual: <nombre del Scrollbar>.getValue(); * Establecer el valor mximo: <nombre del Scrollbar>.setMaximum(<valor numrico>); * Establecer el valor mnimo: <nombre del Scrollbar>.setMinimum(<valor numrico); * Establecer el valor actual: <nombre del Scrollbar>.setValue(<valor numrico>); * Asignar la orientacin: <nombre del Scrollbar>.setOrientation(Scrollbar.<orientacin de control>); Observacin: La <orientacin del control> puede ser HORIZONTAL y VERTICAL Controles Swing Librera para controles swing import javax.swing.*; Formularios

26

Clases * Clases dentro de un applet - Crear una clase: . La clase se crea junto a los eventos de un applet, de un formulario u otros. . class <nombre de la clase> { <variables pblicas o privadas> <procedimientos pblicos o privados> <funciones pblicas o privadas> } * Objetos: - Declarar: . 1era forma: <nombre de la clase> <nombre del objeto>; <nombre del objeto> = new <nombre de la clase>( ); . 2da forma: <nombre de la clase> <nombre del objeto> = new <nombre de la clase>( ); - Utilizar: <nombre del objeto>.Mtodo 1; <nombre del objeto>.Mtodo 2; . . . <nombre del objeto>.Mtodo n; * Arreglo de objetos - Declarar: . 1era forma: <nombre de la clase> <nombre del objeto> []; <nombre del objeto> = new <nombre de la clase> [ nmero de filas ]; . 2da forma: <nombre de la clase> <nombre del objeto> [] = new <nombre de la clase> [ nmero de filas ]; - Utilizar: <nombre del objeto> [ <posicin en le fila 0> ] = new <nombre de la clase> ( ); <nombre del objeto> [ <posicin en le fila 0> ].Mtodo 1; <nombre del objeto> [ <posicin en le fila 1> ] = new <nombre de la clase> ( ); <nombre del objeto> [ <posicin en le fila 1>].Mtodo 2; . . . <nombre del objeto> [ <posicin en le fila n> ] = new <nombre de la clase> ( ); <nombre del objeto> [ <posicin en le fila n> ].Mtodo n; Cerrar Applet o formulario System.exit (0); Hilos * Implementar un hilo: class <nombre del applet o formulario> extends <nombre del applet o formulario> implements Runnable { } 27

* Declarar un hilo: Thread <nombre del hilo>; * Instanciar un hilo: <nombre del hilo> = new Thread(this); * Dnde colocar el cdigo de un hilo: public void run() { } - Utilizar ms de dos hilos: . colocar en el cdigo de un hilo: Thread <nombre de variable de hilo en uso actual> = Thread.currentThread(); if(<nombre del hilo 1>= =<nombre variable de hilo en uso actual>) { //SENTENCIAS 1 } if(<nombre del hilo 2>= =<nombre variable de hilo en uso actual>) { //SENTENCIAS 2 } . . . * Pausar uno o ms hilos: . Colocar en el cdigo de un hilo, generalmente dentro de un bucle: try { Thread.sleep(4000);//EN MILISENGUNDOS } catch (InterruptedException e) { } * Iniciar un hilo: <nombre el hilo>.start( ); * Observacin: Nunca debe llamar directamente al mtodo run. El mtodo start de la clase Thread lo hace de modo automtico. Los hilos se pueden usar para dar movimientos a los grficos.

28