Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Hola a todos... en este hilo puedes encontran cdigos fuente de diversos temas de Java. Est organizado de lo ms bsico a lo ms complejo y para cada tema he puesto una pequea introduccin, que ilustra a grandes rasgos lo que abarcan los programas. La mayora de los programas, incluyendo los del principio, utilizan el paquete Swing de Java para las interfaces grficas de usuario, e incluso se utilizan clases internas annimas para el manejo de eventos, en vez de los mtodos convencionales. Se incluyen tambin programas que tienen errores a propsito, para explicar restricciones de Java; estos se encuentran subrayados. Los programas estn organizados y distribuidos en los siguientes temas: Introduccin a las aplicaciones en Java Introduccin a los Applets en Java Instrucciones de control Mtodos (funciones) Arreglos Programacin Basada en Objetos Programacin Orientada a Objetos (Herencia y Polimorfismo) Cadenas y caracteres Grficos y Java2D Componentes de la interfaz grfica de usuario (GUI's) Manejo de excepciones Subprocesamiento mltiple (Hilos, Threads)
o o o o o o
Programa para imprimir texto Imprimir una lnea de texto con varias instrucciones Imprimir varias lneas de texto con una sola instruccin Imprimir varias lneas de texto en un cuadro de dilogo Programa que muestra la suma de dos nmeros Compara enteros utilizando instrucciones if, operadores relacionales y de igualdad
o o o o o
Nuestro primer subprograma en Java Mostrar varias cadenas en un subprograma Mostrar texto y dibujar lneas Suma dos nmeros de punto flotante El famoso juego Gato o Triqui
Instrucciones de Control
Esta seccin se enfoca en el proceso de desarrollo de programas. Se exponen los tipos primitivos de instrucciones de control para la tomas de decisiones (if, else, if... else, while, do...while, for, switch, etc.). Los ejemplos tambin muestran el manejo de la repeticin controlada por contador y por centinela, y se introducen los operadores de incremento, decremento y asignacin de Java y las instrucciones break y switch.
o o o o o o o o o o o o o o
Promedio de una clase mediante la repeticin controlada por contador Promedio de una clase mediante la repeticin controlada por centinela Anlisis de los resultados de un examen utilizando while, if y else Los operadores preincremento y postdecremento Repeticin controlada por contador con la instruccin while Repeticin controlada por contador con la instruccin for Suma de enteros con la instruccin for Clculo del inters compuesto con la instruccin for Uso de la instruccin do...while Dibujar lneas, rectngulos u valos con base en la entrada del usuario (switch) Terminacin de un ciclo con break Continuar con la siguiente iteracin de un ciclo (continue) Instruccin break etiquetada Instruccin continue etiquetada
Mtodos (funciones)
En esta seccin se ofrece un anlisis ms detallados de los objetos. Los objetos contienen datos llamados campos y unidades llamados mtodos. En esta seccin se encuentran ejemplos muy conocidos sobre recursividad. Las tcnicas aqu expuestas son esenciales para producir programas correctamente estructurados, especialmente los ms grandes que desarrollan los programadores de sistemas y aplicaciones. Tambin se muestra el uso de la sobrecarga de mtodos y se presentan el manejo de eventos.
o o o o o o o o o
Crear y utilizar un mtodo definido por el programador Encontrar el mximo de tres nmeros de punto flotante Enteros aleatorios con desplazamiento y escala Simulacin del lanzamiento de un dado Juego de dados Un ejemplo del alcance de las variables en mtodos Uso de mtodos sobrecargados Mtodo recursivo para el factorial Mtodo recursivo fibonacci
Arreglos (arrays)
Los arreglos en Java son objetos, demostrando el compromiso de Java con la orientacin a objetos. En esta seccin se encuentran diversos ejemplos de arreglos unidimensionales y multidimensionales, y se exponen las manipulaciones ms comunes de estos. Tambin el proceso de pasar arreglos a mtodos y las tcnicas elementales para ordenar y realizar bsquedas, junto con la presentacin de la bsqueda binaria como una mejora sobre la bsqueda lineal.
o o o o o o o o o o o o
Creacin de un arreglo Inicializacin de un arreglo con los enteros pares del 2 al 20 Sumar el total de los valores de los elementos de un arreglo Programa para imprimir histogramas Simulacin del lanzamiento de una dado utilizando arreglos Simulacin de votacin de estudiantes utilizando arreglos Paso de arreglos y elementos individuales de un arreglo a mtodos Ordenamiento de un arreglo utilizando el mtodo de Burbuja Bsqueda lineal en un arreglo Bsqueda binaria en un arreglo Inicializacin de arreglos bidimensionales Ejemplo de arreglo bidimensional
o o o o o o o o
Ejemplo 1: impresin de Tiempo en horas utilizando Objetos Uso de la referencia this para hacer referencia a los campos y mtodos Ejemplo 2: impresin de Tiempo en horas utilizando Objetos con sobrecarga de Constructores Ejemplo 3: impresin de Tiempo en horas utilizando Objetos y los mtodos establecer y obtener Demostracin de un objeto que tiene como miembro a otro objeto Ejemplos con variables de clase esttica, el mtodo de clase esttico y memoria dinmica Inicializacin de una variable final Acceso de paquete de otras clases en el mismo paquete
nminas, una jerarqua de figuras encabezada por una clase abstract y una jerarqua de clases encabezada por una interfaz.
o o o o o o o o o o o o o o o o
Ejemplos simples de Herencia: Un objeto Punto Un objeto Circulo Jerarqua Punto -> Circulo Jerarqua Punto -> Circulo utilizando datos private Jerarqua de herencia de tres niveles Constructores y finalizadores en las subclases Ejemplos simples Polimorfismo Asignacin de referencias de superclase y subclase a la variable de tipo superclase y subclase Intento de asignar la referencia de una superclase a una variable de tipo subclase Invocar a los mtodos miembros de la subclase a travs de una referencia a la subclase Herencia de Interfaz y de implementacin. Jerarqua Figura->Punto->Criculo->Cilindro Ejemplo prctico: Sistema de nmina utilizando polimorfismo Ejemplo prctico: Creacin y uso interfaces Utilizacin de clases internas para el manejo de eventos Utilizacin de clases internas annimas para el manejo de eventos
Cadenas y caracteres
Esta seccin trata el procesamiento de palabras, oraciones, caracteres y grupos de caracteres. Se presentan las clases String, StringBuffer, Character y StringTokeizer. Tambin se presentan ejemplos de la API de Java para las expresiones regulares (nueva en la J2SE 1.4), la cual permite a los programas buscar en las cadenas secuencias de caracteres que concuerden con ciertos patrones especificados.
o o o o o o o o o o o o o o o o o o o o o o
Constructores de la clase String Mtodos length, charAt y getChars de String Mtodos equals, equalsIgnoreCase, compareTo y regionMatches de String Mtodos startsWith y endsWith de String Mtodos de bsqueda indexOf y lastIndexOf de String Mtodo substring de la clase String Mtodo concat de la clase String Mtodos replace, toLowerCase, toUpperCase, trim y toCharArray de String Mtodo valueOf de la clase String Constructores de la clase StringBuffer Mtodos length, setLength, capacity y ensureCapacity de StringBuffer Mtodos charAt, setCharAt, getChars, reverse de StringBuffer Mtodo append de StringBuffer Mtodos insert y delete de StringBuffer Mtodos static de Character para probar caracteres y cambiar maysculas/minsculas Mtodos static de Character para la conversin de caracteres Mtodos no static de Character La clase StringTokenizer Simulacin para barajar y repartir cartas utilizando Strings Validacin de la informacin del usuario mediante expresiones regulares Mtodos replaceFirst, replaceAll y split Concordancias Expresiones Regulares, utilizando las clases Pattern y Matcher
Grficos y Java2D
En esta seccin de tratan los contextos y objetos grficos; el dibujo de cadenas, caracteres y bytes; el control de color y tipo de letra; la manipulacin de la pantallas, los modos de pantalla y el dibujo de lneas, rectngulos, rectngulos redondeados, rectngulos tridimensionales, valos, arcos y polgonos. Se presenta la API de Java2D, la cual ofrece poderosas herramientas para grficos.
o o o o o o o o o
Demostracin de los colores en Java Seleccionar colores con JColorChooser Uso de los tipos de letra (Font) Mtodos de FontMetrics y Graphics tiles para obtener mtrica de un tipo de letra Dibujo de Lneas, rectngulos y valos (drawLine, drawRect, drawRoundRect, drawOval) Dibujo de arcos (drawArc) Dibujo de Polgonos (Polygon, drawPolygon, drawPolyLine) Demostracin de algunas figuras de Java2D Demostracin de una ruta general (GeneralPath)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o
La clase JLabel La clase JTextField La clase JButton La clase JCheckBox Las clases ButtonGroup y JRadioButton Uso de un objeto JComboBox para seleccionar una imagen a mostrar Seleccin de colores con un objeto JList Como copiar elementos de una lista (JList) a otra Demostracin de los eventos de Ratn (MouseListener) Uso de la clase MouseMotionAdapter Demostracin de los clics de ratn y cmo diferenciar entre los botones del ratn (MouseAdapter) Demostracin de los eventos de teclado (KeyListener) Demostracin de las alineaciones de FlowLayout Demostracin de BorderLayout Demostracin de GridLayout Uso de un objeto JPanel Como copiar texto seleccionado de un rea de texto (JTextArea) a otra Una clase JPanel personalizada Una clase JPanel auto contenida que maneja sus propios eventos de ratn Uso de un objeto JSlider Demostracin de los mens (JMenu, JMenuBar, JMenuItem) Demostracin de los objetos JPopupMenu Cambio de la apariencia visual (UIManager) Demostracin de JDesktopPane Demostracin de JTabbedPane Demostracin de BoxLayout Demostracin de GridBagLayout Demostracin de las constantes de GridBagLayout
Manejo de Excepciones
Esta seccin ejemplifica el tema de las excepciones, un tema importante en la construccin de aplicaciones de "misin crtica" o de "comercio crtico". para utilizar un componente de Java, es necesario saber no slo la manera como se comporta ese componente cuando "las cosas salen bien", sino tambin cuando "las cosas salen mal". En esta seccin se introducen instrucciones imprescindibles en el manejo de excepciones (try, catch, finally), adems introduce la nueva capacidad de encadenamiento de excepciones en la J2SE 1.4.
o o o o o
Manejo de excepciones que comprueba la divisin entre cero Manejo de try-catch-finally para manejar excepciones Demostracin de la limpieza de la pila Demostracin de getMessage y printStackTrace de la clase Exception Demostracin de las excepciones encadenadas
o o o o
Varios Subprocesos imprimiendo en distintos intervalos Ejemplo de productor/consumidor sin sicronizacin Ejemplo de productor/consumidor con sicronizacin Ejemplo de productor/consumidor: Bfer Circular
ltima modificacin: 15 Agosto 2008, 20:41 por Casidiablo http://casidiablo.net Casidiablo Desarrollador Colaborador Desconectado Mensajes: 2.915
En lnea
Ejercicios Java Bsico [ejemplos prcticos] Respuesta #5 en: 11 Enero 2006, 19:37
Archivos y Flujos
Esta seccin habla sobre la entrada/salida que se logra a travs de flujos de datos dirigidos hacia, y desde, los archivos. En los siguientes ejemplos se traducen los objetos a un formato persistente. El proceso de poder almacenar datos en archivos o desplazarlos a travs de redes (siguiente captulo) hace que los programas puedan guardar datos y comunicarse entre s. Se presenta un ejemplo de la clase File, que sirve para obtener informacin acerca de los archivos y directorios; tambin ejemplos sobre las clases ObjectInputStream, ObjectOutputStream, RandomAccessFile, etc. Nota: Muchos de los ejercicios de esta seccin, necesitan de las clases de otros ejercicios de aqu mismo, para su correcto funcionamiento.
o o o o o o o o
Demostracin de la clase File Creacin de un archivo secuencial (ObjectOutputStream) Leer datos de un archivo secuencial (ObjectInputStream) Creacin de un archivo de acceso aleatorio (RandomAccessFile) Escribir datos en un archivo de acceso aleatorio Leer datos en forma secuencial, de un archivo de acceso aleatorio Leer datos en forma aleatoria, de un archivo de acceso aleatorio Demostracin de las clases FileChannel y ByteBuffer
Redes
En esta seccin se presentan programas que se comunican a travs de redes de computadores, exponiendo las mejores herramientas de red para Java. Es casi necesario manejar el tema de Archivos y Flujos ya que Java maneja las redes como si fueran flujos de datos. Se manejan objetos de las clases URL, Socket, ServerSocket, DatagramSocket, DatagramPacket, SocketException, HiperLinkEvent, Serializable, InetAdress, entre otras. El ejemplo cuilminante para esta seccin es la creacin de un Chat, que utiliza las caractersticas ms importantes a la hora de implementar programas de redes en Java.
o o o o o o o o o
Este programa carga un documento a partir de un URL. Manipulacin de URL's Uso de un objeto JEditorPane para mostrar el contenido de un archivo en un servidor Interaccin entre cliente/servidor mediante conexiones de socket de flujo Interaccin entre cliente/servidor sin conexin mediante datagramas Juego de tres en raya (gato) tipo cliente/servidor (servidor con subprocesamiento mltiple) Ejemplos sacados del libro: "Cmo programar en Java" de Deitel: Programa de conversacin simple DeitelMessenger (java.net) Programa de conversacin simple DeitelMessenger con E/S sin bloqueo (java.nio) <<Programa de conversacin, Casidiablo Chat (java.net)>>
o o o o
Cargar una imagen y mostrarla en su tamao original y al doble de su tamao original (Image e ImageIcon) Animacin de una serie de imagenes (Timmer) Demostracin de un mapa de imgenes Cargar un clip de audio y reproducirlo
Nota: Las herramientas de multimedia de Java van ms all de las que se presentan en esta seccin. Entre estas herramientas se incluyen la API del marco de trabajos de medios de Java (Java Media Framework API), la API de sonido de Java (Java Sound API), la API de 3D de Java (Java 3D API), la API de procesamiento avanzado de imgenes de Java (Java Avanced Imaging API), la API de
sntesis de voz de Java (Java Speech API), la API 2D de Java (Java 2D API) y la API de E/S de imgenes de Java (Java Image I/O API). Por esto os dejo una pequea fuente de informacin, para las API's anteriormente mencionadas, y algunas que se me escapan en el momento:
Esta es la pgina principal de la API JMF (Java Media Framework). Aqu puedes descargar la implementacin de Sun ms reciente de JMF. Este sitio tambin incluye la documentacin para la API de JMF. La pgina principal de la API de sonido de Java. Esta API proporciona herramientas para reproducir y grabar audio. La pgina principal de la API 3D de Java. Esta API proporciona herramientas producir imagenes tridimensionales, tpicas de los videojuegos de la actualidad. Este sitio proporciona un tutorial acerca de la API Java 3D. La pgina principal de la API para el manejo avanzado de imgenes en Java (Java Avanced Imaging). Esta API proporciona herramientas para procesar imgenes, como mejorar el contraste, recortar, escalar y la deformacin geomtrica. La pgina principal de la API de voz de Java (Java Speech). Esta API permite a los programas realizar la sntesis y el reconocimiento de voz. FreeTTS es una implementacin de la API de voz de Java. Esta es la pgina principal de la API de Java 2D. Esta API (presentada -aqu-) proporciona herramientas para grficos bidimensionales complejos. Este sitio contiene una descripcin general de la API de E/S de imgenes de Java (Java Imagen I/O API), la cual permite a los programas definir procesos personalizados para cargar y guardar imgenes en formatos que no sean soportados todava por las APIs de Java.