Este documento describe el desarrollo de una aplicación en Java utilizando diagramas de clases y secuencia. Explica cómo un diagrama de secuencia representa la interacción entre los componentes de una aplicación para lograr un caso de uso. Luego presenta un ejemplo de una aplicación de música que permite agregar canciones, mostrando el diagrama de secuencia y código Java correspondiente a este caso de uso.
El documento describe las Java Foundation Classes (JFC) y Swing, que proporcionan una interfaz gráfica de usuario mejorada para aplicaciones Java. Se explica que Swing es un conjunto de nuevos componentes visuales que reemplazan a los componentes AWT originales, y que ofrecen características adicionales como soporte para diferentes estilos visuales y accesibilidad. Además, se detallan varios componentes Swing comunes como JButton, JTextField y JTable.
This document discusses Java GUI interfaces created with JFC/Swing. It introduces key concepts like components, containers, and layout managers. It provides examples of creating buttons and handling click events. It also explains how containers group components and layout managers determine their positioning and sizing.
Este documento describe los conceptos básicos de la programación GUI en Java utilizando Swing. Explica que los programas GUI en Java son impulsados por eventos, donde las acciones del usuario generan eventos que invocan el código del programa. También describe la jerarquía de herencia y contenedores de Swing, los tipos básicos de componentes como botones y menús, y cómo crear una simple aplicación Swing "Hola Mundo".
Este documento describe los componentes básicos de Java AWT como etiquetas, cuadros de texto y botones. Explica cómo crear y usar estos componentes mediante constructores, métodos y eventos para desarrollar interfaces gráficas de usuario simples como una calculadora básica.
Este documento describe los componentes básicos de Java como botones y cómo implementarlos. Explica que los botones permiten a los usuarios iniciar acciones y se soportan en la clase Button. También cubre cómo gestionar eventos de botón usando la interfaz ActionListener y sus métodos. Finalmente, muestra ejemplos de cómo determinar qué botón se presionó.
Este documento proporciona una introducción a la programación gráfica con componentes Swing en Java. Explica conceptos clave como componentes, contenedores, layout managers y varios componentes simples como etiquetas, cajas de texto y botones. También describe las clases JFrame, JDialog y JPanel que son utilizadas para crear ventanas, diálogos y paneles.
El documento describe los conceptos básicos de la programación GUI en Java, incluyendo la librería Swing, la programación impulsada por eventos, la generación y manejo de eventos, y los componentes y contenedores principales de Swing como JFrame y JPanel.
El documento describe los componentes Swing, que son componentes Java mejorados para interfaces gráficas. Swing incluye contenedores como JFrame y JPanel que contienen otros componentes, y componentes como JButton, JLabel y JTextField. También describe cuadros de diálogo como JOptionPane y administradores de diseño como BorderLayout y GridLayout que controlan la disposición de los componentes.
El documento describe las Java Foundation Classes (JFC) y Swing, que proporcionan una interfaz gráfica de usuario mejorada para aplicaciones Java. Se explica que Swing es un conjunto de nuevos componentes visuales que reemplazan a los componentes AWT originales, y que ofrecen características adicionales como soporte para diferentes estilos visuales y accesibilidad. Además, se detallan varios componentes Swing comunes como JButton, JTextField y JTable.
This document discusses Java GUI interfaces created with JFC/Swing. It introduces key concepts like components, containers, and layout managers. It provides examples of creating buttons and handling click events. It also explains how containers group components and layout managers determine their positioning and sizing.
Este documento describe los conceptos básicos de la programación GUI en Java utilizando Swing. Explica que los programas GUI en Java son impulsados por eventos, donde las acciones del usuario generan eventos que invocan el código del programa. También describe la jerarquía de herencia y contenedores de Swing, los tipos básicos de componentes como botones y menús, y cómo crear una simple aplicación Swing "Hola Mundo".
Este documento describe los componentes básicos de Java AWT como etiquetas, cuadros de texto y botones. Explica cómo crear y usar estos componentes mediante constructores, métodos y eventos para desarrollar interfaces gráficas de usuario simples como una calculadora básica.
Este documento describe los componentes básicos de Java como botones y cómo implementarlos. Explica que los botones permiten a los usuarios iniciar acciones y se soportan en la clase Button. También cubre cómo gestionar eventos de botón usando la interfaz ActionListener y sus métodos. Finalmente, muestra ejemplos de cómo determinar qué botón se presionó.
Este documento proporciona una introducción a la programación gráfica con componentes Swing en Java. Explica conceptos clave como componentes, contenedores, layout managers y varios componentes simples como etiquetas, cajas de texto y botones. También describe las clases JFrame, JDialog y JPanel que son utilizadas para crear ventanas, diálogos y paneles.
El documento describe los conceptos básicos de la programación GUI en Java, incluyendo la librería Swing, la programación impulsada por eventos, la generación y manejo de eventos, y los componentes y contenedores principales de Swing como JFrame y JPanel.
El documento describe los componentes Swing, que son componentes Java mejorados para interfaces gráficas. Swing incluye contenedores como JFrame y JPanel que contienen otros componentes, y componentes como JButton, JLabel y JTextField. También describe cuadros de diálogo como JOptionPane y administradores de diseño como BorderLayout y GridLayout que controlan la disposición de los componentes.
El documento explica los conceptos de layout y componentes en Java. Los componentes son elementos como botones y etiquetas que se colocan en las ventanas. Los contenedores no tienen aspecto propio y sirven para alojar otros componentes. El layout determina cómo se distribuyen los componentes dentro de un contenedor. El GridBagLayout permite distribuciones complejas colocando los componentes en una rejilla virtual. El documento muestra cómo crear una ventana con varios botones usando GridBagLayout.
Este documento presenta una introducción a las interfaces gráficas de usuario (GUIs) en Java. Explica los diferentes tipos de aplicaciones Java, las bibliotecas GUI principales como AWT y Swing, y los conceptos básicos para crear GUIs como componentes, contenedores, layouts y manejo de eventos. También incluye información sobre la jerarquía de clases Swing y pasos para construir una interfaz.
Este documento trata sobre ventanas en Java. Explica la librería AWT y los componentes y contenedores básicos como Frame, Panel y Button. También cubre la creación de ventanas personalizadas, el uso de layouts para organizar los componentes, y presenta Swing como una alternativa mejorada a AWT.
Este documento describe los conceptos básicos de la programación GUI en Java, incluyendo la librería Swing, la programación basada en eventos, la generación y manejo de eventos, los componentes atómicos y contenedores, y los layout managers. Explica que los programas GUI en Java son impulsados por eventos, donde las acciones del usuario generan eventos que el código del programa maneja para actualizar la interfaz.
Este documento describe los principales componentes de la clase Abstract Window Toolkit (AWT) de Java. Explica la jerarquía de la clase Component y describe varios tipos de componentes como labels, botones, choice, list, text fields y text areas. También cubre los diferentes tipos de layout managers como FlowLayout, BorderLayout, GridLayout y CardLayout y cómo estos administran el diseño y posicionamiento de los componentes.
Este documento describe diferentes tipos de layout managers en Java que controlan la ubicación y organización de los componentes gráficos dentro de una interfaz de usuario. Explica layout managers como FlowLayout, BorderLayout, CardLayout, GridLayout y GridBagLayout, y proporciona ejemplos de código para ilustrar cómo funciona cada uno.
El documento lista 40 comandos y métodos de Java para el desarrollo de interfaces gráficas, manejo de datos, excepciones y depuración. Incluye comandos para crear y personalizar ventanas, botones, mensajes, ingreso de datos, manipulación de cadenas y fechas, y uso de clases como Scanner, Date y JOptionPane. También cubre temas como paquetes, comentarios Javadoc, depuración y manejo de excepciones.
El documento describe las interfaces gráficas de usuario (GUI) en Java. Explica que las GUI ofrecen ventanas, botones y otros elementos visuales con los que los usuarios interactúan. La API de Java proporciona clases para crear GUI, incluyendo AWT y Swing. Swing reemplaza muchas clases AWT y proporciona nuevos componentes como árboles y tablas. Las aplicaciones GUI se construyen usando contenedores, componentes y manejadores de eventos.
EjemploJInternalFrame
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
public class EjemploJInternalFrame extends JInternalFrame {
/* ÉSTE MAIN LO GENERA ECLIPSE PARA PRUEBAS, LO DEJO
* COMENTADO PORQUE YA ESTÁ FUNCIONANDO Y SE EJECUTARÁ
* DENTRO DE UN JDesktopPane COMO TODO BUEN JInternalFrame
* TAMBIÉN SE PUEDE EJECUTAR DENTRO DE OTROS PANELES
* PERO ESO NO SE SUELE UTILIZAR.
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
EjemploJInternalFrame frame = new EjemploJInternalFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}*/
// ÉSTE ES EL CONSTRUCTOR DE LA CLASE
public EjemploJInternalFrame() {
// coordenadas con las dimensiones de la ventana
setBounds(100, 100, 245, 134);
// disposición de capas a nulo para poder posicionar
// con coordenadas en vez de con el esquema determinado
getContentPane().setLayout(null);
// un etiqueta...
JLabel lblstoEsUna = new JLabel("\u00C9sto es una ventana interna...");
lblstoEsUna.setBounds(10, 11, 333, 14);
getContentPane().add(lblstoEsUna);
// el botón que cierra ésta ventana interna
JButton btnAprietaAquPara = new JButton("Aprieta aqu\u00ED para cerrar");
btnAprietaAquPara.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// ésto se ejecuta cuando se aprieta el botón
// manda la clase a la basura,
// con lo que se cierra la ventana
dispose();
}
});
btnAprietaAquPara.setBounds(10, 36, 209, 58);
getContentPane().add(btnAprietaAquPara);
}
}
Este documento describe los componentes Swing para interfaces de usuario en Java, incluyendo menús, botones de opción, eventos de pintado y más. Explica cómo crear y manipular estos componentes, así como conceptos fundamentales como jerarquías de clases, eventos y patrones de diseño comunes.
Este documento proporciona una introducción a Swing y sus componentes. Explica qué es Swing y cómo se relaciona con JFC, las versiones que contienen el API Swing, y los paquetes Swing más comunes. También describe brevemente las diferencias entre los componentes Swing y AWT. Finalmente, incluye ejemplos de código de una aplicación Swing sencilla para ilustrar sus características.
Este documento contiene definiciones de varios términos relacionados con ADSI. Explica conceptos como abstracción, algoritmo, applet, archivo JAR, API, array, ASCII, bit, booleano, bucle, byte, bytecode, base de datos, caso, calidad de software, cuadro de diálogo, cache de JRE, char, clase, comentario, método, variable, GUI, compilador, caso de uso, comportamiento de objeto, componente, datawarehousing, diagrama de casos de uso, diagrama de clases, diagrama de colab
Este documento describe el concepto de herencia en Java y proporciona un ejemplo guiado de cómo crear una clase derivada llamada BotonContador que herede de la clase JButton existente. La clase BotonContador añade métodos para contar el número de pulsaciones de un botón, como setPulsaciones(), getPulsaciones(), etc., mientras mantiene las características existentes de JButton. El documento explica cómo definir la clase BotonContador usando herencia, agregar propiedades y métodos, e implementar un programa de prueba para demo
Este documento describe un proyecto de una calculadora básica que realiza operaciones matemáticas como suma, resta, multiplicación, división y potenciación mediante el uso de librerías. Se creó una librería llamada "paquetematematica" con clases para operaciones aritméticas y avanzadas, la cual fue importada e implementada en un proyecto de calculadora para realizar cálculos. El proyecto de calculadora utiliza componentes de interfaz gráfica como botones, cajas de texto y etiquetas para permitir la interacción del usuario y mostrar
PicMonkey is an online photo editing service founded in 2012 by former Picnik engineers as a replacement for Picnik after it was shut down. It offers basic free features and premium features through a subscription. The tutorial describes how to use PicMonkey to edit a photo by resizing it, cropping it, adding text, changing colors, and saving the edited photo to a local folder.
Este documento describe un proyecto para mejorar la competencia literaria de los estudiantes de primaria en la Institución Educativa Fernando Villalobos Arango sede Cauchos Bajos a través del uso de las TIC. El objetivo es utilizar las TIC como herramienta lúdica y pedagógica para incentivar la comprensión y disfrute de la lectura. La metodología incluye estrategias lúdicas y el diseño de un club de lectura virtual para fomentar el hábito lector a través de las TIC.
El documento describe dos ejercicios de programación en Java que involucran el análisis y procesamiento de cadenas de texto. El primer ejercicio crea una interfaz gráfica con un cuadro de texto y botones para analizar una frase introducida, mostrando la frase en mayúsculas, minúsculas y el número de caracteres. El segundo ejercicio expande esto analizando una subcadena dentro de la frase principal e indicando sus posiciones y el texto circundante.
El documento explica los conceptos de layout y componentes en Java. Los componentes son elementos como botones y etiquetas que se colocan en las ventanas. Los contenedores no tienen aspecto propio y sirven para alojar otros componentes. El layout determina cómo se distribuyen los componentes dentro de un contenedor. El GridBagLayout permite distribuciones complejas colocando los componentes en una rejilla virtual. El documento muestra cómo crear una ventana con varios botones usando GridBagLayout.
Este documento presenta una introducción a las interfaces gráficas de usuario (GUIs) en Java. Explica los diferentes tipos de aplicaciones Java, las bibliotecas GUI principales como AWT y Swing, y los conceptos básicos para crear GUIs como componentes, contenedores, layouts y manejo de eventos. También incluye información sobre la jerarquía de clases Swing y pasos para construir una interfaz.
Este documento trata sobre ventanas en Java. Explica la librería AWT y los componentes y contenedores básicos como Frame, Panel y Button. También cubre la creación de ventanas personalizadas, el uso de layouts para organizar los componentes, y presenta Swing como una alternativa mejorada a AWT.
Este documento describe los conceptos básicos de la programación GUI en Java, incluyendo la librería Swing, la programación basada en eventos, la generación y manejo de eventos, los componentes atómicos y contenedores, y los layout managers. Explica que los programas GUI en Java son impulsados por eventos, donde las acciones del usuario generan eventos que el código del programa maneja para actualizar la interfaz.
Este documento describe los principales componentes de la clase Abstract Window Toolkit (AWT) de Java. Explica la jerarquía de la clase Component y describe varios tipos de componentes como labels, botones, choice, list, text fields y text areas. También cubre los diferentes tipos de layout managers como FlowLayout, BorderLayout, GridLayout y CardLayout y cómo estos administran el diseño y posicionamiento de los componentes.
Este documento describe diferentes tipos de layout managers en Java que controlan la ubicación y organización de los componentes gráficos dentro de una interfaz de usuario. Explica layout managers como FlowLayout, BorderLayout, CardLayout, GridLayout y GridBagLayout, y proporciona ejemplos de código para ilustrar cómo funciona cada uno.
El documento lista 40 comandos y métodos de Java para el desarrollo de interfaces gráficas, manejo de datos, excepciones y depuración. Incluye comandos para crear y personalizar ventanas, botones, mensajes, ingreso de datos, manipulación de cadenas y fechas, y uso de clases como Scanner, Date y JOptionPane. También cubre temas como paquetes, comentarios Javadoc, depuración y manejo de excepciones.
El documento describe las interfaces gráficas de usuario (GUI) en Java. Explica que las GUI ofrecen ventanas, botones y otros elementos visuales con los que los usuarios interactúan. La API de Java proporciona clases para crear GUI, incluyendo AWT y Swing. Swing reemplaza muchas clases AWT y proporciona nuevos componentes como árboles y tablas. Las aplicaciones GUI se construyen usando contenedores, componentes y manejadores de eventos.
EjemploJInternalFrame
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55 import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
public class EjemploJInternalFrame extends JInternalFrame {
/* ÉSTE MAIN LO GENERA ECLIPSE PARA PRUEBAS, LO DEJO
* COMENTADO PORQUE YA ESTÁ FUNCIONANDO Y SE EJECUTARÁ
* DENTRO DE UN JDesktopPane COMO TODO BUEN JInternalFrame
* TAMBIÉN SE PUEDE EJECUTAR DENTRO DE OTROS PANELES
* PERO ESO NO SE SUELE UTILIZAR.
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
EjemploJInternalFrame frame = new EjemploJInternalFrame();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}*/
// ÉSTE ES EL CONSTRUCTOR DE LA CLASE
public EjemploJInternalFrame() {
// coordenadas con las dimensiones de la ventana
setBounds(100, 100, 245, 134);
// disposición de capas a nulo para poder posicionar
// con coordenadas en vez de con el esquema determinado
getContentPane().setLayout(null);
// un etiqueta...
JLabel lblstoEsUna = new JLabel("\u00C9sto es una ventana interna...");
lblstoEsUna.setBounds(10, 11, 333, 14);
getContentPane().add(lblstoEsUna);
// el botón que cierra ésta ventana interna
JButton btnAprietaAquPara = new JButton("Aprieta aqu\u00ED para cerrar");
btnAprietaAquPara.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
// ésto se ejecuta cuando se aprieta el botón
// manda la clase a la basura,
// con lo que se cierra la ventana
dispose();
}
});
btnAprietaAquPara.setBounds(10, 36, 209, 58);
getContentPane().add(btnAprietaAquPara);
}
}
Este documento describe los componentes Swing para interfaces de usuario en Java, incluyendo menús, botones de opción, eventos de pintado y más. Explica cómo crear y manipular estos componentes, así como conceptos fundamentales como jerarquías de clases, eventos y patrones de diseño comunes.
Este documento proporciona una introducción a Swing y sus componentes. Explica qué es Swing y cómo se relaciona con JFC, las versiones que contienen el API Swing, y los paquetes Swing más comunes. También describe brevemente las diferencias entre los componentes Swing y AWT. Finalmente, incluye ejemplos de código de una aplicación Swing sencilla para ilustrar sus características.
Este documento contiene definiciones de varios términos relacionados con ADSI. Explica conceptos como abstracción, algoritmo, applet, archivo JAR, API, array, ASCII, bit, booleano, bucle, byte, bytecode, base de datos, caso, calidad de software, cuadro de diálogo, cache de JRE, char, clase, comentario, método, variable, GUI, compilador, caso de uso, comportamiento de objeto, componente, datawarehousing, diagrama de casos de uso, diagrama de clases, diagrama de colab
Este documento describe el concepto de herencia en Java y proporciona un ejemplo guiado de cómo crear una clase derivada llamada BotonContador que herede de la clase JButton existente. La clase BotonContador añade métodos para contar el número de pulsaciones de un botón, como setPulsaciones(), getPulsaciones(), etc., mientras mantiene las características existentes de JButton. El documento explica cómo definir la clase BotonContador usando herencia, agregar propiedades y métodos, e implementar un programa de prueba para demo
Este documento describe un proyecto de una calculadora básica que realiza operaciones matemáticas como suma, resta, multiplicación, división y potenciación mediante el uso de librerías. Se creó una librería llamada "paquetematematica" con clases para operaciones aritméticas y avanzadas, la cual fue importada e implementada en un proyecto de calculadora para realizar cálculos. El proyecto de calculadora utiliza componentes de interfaz gráfica como botones, cajas de texto y etiquetas para permitir la interacción del usuario y mostrar
PicMonkey is an online photo editing service founded in 2012 by former Picnik engineers as a replacement for Picnik after it was shut down. It offers basic free features and premium features through a subscription. The tutorial describes how to use PicMonkey to edit a photo by resizing it, cropping it, adding text, changing colors, and saving the edited photo to a local folder.
Este documento describe un proyecto para mejorar la competencia literaria de los estudiantes de primaria en la Institución Educativa Fernando Villalobos Arango sede Cauchos Bajos a través del uso de las TIC. El objetivo es utilizar las TIC como herramienta lúdica y pedagógica para incentivar la comprensión y disfrute de la lectura. La metodología incluye estrategias lúdicas y el diseño de un club de lectura virtual para fomentar el hábito lector a través de las TIC.
El documento describe dos ejercicios de programación en Java que involucran el análisis y procesamiento de cadenas de texto. El primer ejercicio crea una interfaz gráfica con un cuadro de texto y botones para analizar una frase introducida, mostrando la frase en mayúsculas, minúsculas y el número de caracteres. El segundo ejercicio expande esto analizando una subcadena dentro de la frase principal e indicando sus posiciones y el texto circundante.
El documento describe los conceptos de corriente eléctrica, corriente continua y corriente alterna. Explica que la corriente eléctrica es el flujo de carga eléctrica a través de un material, y que la corriente continua fluye siempre en la misma dirección mientras que la corriente alterna cambia periódicamente de dirección. También define las unidades de medida como el amperio y explica cómo se generan y aplican ambos tipos de corriente.
Este documento explica cómo usar diferentes tipos de cuadros de diálogo (JOptionPane) en Java, incluyendo showMessageDialog para mostrar mensajes, showInputDialog para ingresar datos de usuario, y showConfirmDialog para mostrar cuadros de confirmación. También cubre cómo convertir cadenas recibidas a otros tipos de datos numéricos como enteros, flotantes y doubles.
César tello scm en empresas de confeccionesHenry Nieves
El documento discute los desafíos de gestionar la cadena de suministro en la industria textil. Para sobrevivir en un entorno competitivo, las empresas textiles deben mejorar la integración entre sus procesos internos y con proveedores y clientes. También deben enfrentar cambios rápidos en la demanda y regulaciones. La implementación exitosa de un sistema de gestión de la cadena de suministro requiere cambios en la mentalidad, orientación a procesos y mayor intercambio de conocimiento entre las empresas.
El documento describe los beneficios del trabajo por proyectos en la educación. Señala que al trabajar de esta manera, los estudiantes pueden participar activamente, discutir puntos de vista diferentes y resolver problemas basados en su propia realidad, lo que lleva a un aprendizaje más significativo.
El documento describe las colecciones en Java. Explica que una colección agrupa múltiples elementos y que Java proporciona un marco de colecciones con interfaces y clases para representar y manipular colecciones de manera genérica. Describe los métodos principales de la interfaz Collection para agregar, remover y consultar elementos, y explica cómo recorrer colecciones usando iteradores o ciclos foreach. También define listas como colecciones ordenadas que permiten acceder a elementos por su índice.
El documento describe cómo Lenovo experimentó un choque cultural después de comprar ThinkPad de IBM en 2005. Lenovo globalizó su mercado pero incorporó un CEO estadounidense, lo que resultó en diferencias culturales en el equipo de trabajo. Más tarde, Lenovo trasladó su base de operaciones a la India y su participación en el mercado comenzó a caer, posiblemente debido al desconocimiento de las culturas china y estadounidense. El documento sugiere que las diferencias culturales pueden afectar los resultados de una empresa.
El documento describe la importancia del trabajo por proyectos en la educación. Se enfoca en involucrar a los estudiantes en actividades grupales e individuales que despierten su interés y les permitan discutir diferentes puntos de vista. Al trabajar en proyectos, los estudiantes pueden aprender de manera significativa al involucrarse en la resolución de problemas reales.
A empresa de tecnologia anunciou um novo produto revolucionário que combina hardware, software e serviços em nuvem. O dispositivo permite que os usuários acessem aplicativos e armazenem dados na nuvem de forma segura e conveniente. Analistas preveem que o produto terá grande sucesso no mercado e impulsionará o crescimento da empresa nos próximos anos.
El documento describe los conceptos de archivos y flujos en Java. Explica que los archivos permiten almacenar datos de forma persistente en dispositivos de memoria secundaria y que los flujos proveen una interfaz común para acceder a archivos independientemente de su tipo. También describe las clases principales en Java para trabajar con archivos de caracteres de acceso secuencial como Reader, Appendable y las interfaces relacionadas.
Tema 5 arreglos y cadenas - lsia por gioRobert Wolf
Este documento describe los arreglos y cadenas en Java. Explica que un arreglo es una lista de variables del mismo tipo almacenadas en memoria contigua, y cada elemento puede accederse por su posición. Detalla los tipos de arreglos como unidimensionales, bidimensionales y tridimensionales. Luego profundiza en los arreglos unidimensionales, incluyendo cómo declararlos, crearlos, inicializarlos, acceder a sus elementos, y usarlos con métodos. Finalmente, presenta un ejemplo de clases para almacenar datos de música y pel
This document contains a trigonometry class summary for Christian Siavichay in the 2nd year of high school. It includes graphs of basic trigonometric functions over the domain [-2π,2π] and [-2π,2π]. It also contains more complex trigonometric functions that involve multiplying sin(x) by cos(nx) for various values of n. The summary is intended to help Christian study for a trigonometry test with his professor Diego Cuji.
Este documento propone implementar proyectos transversales de valores a través de la lúdica y las TIC para fomentar una sana convivencia. Se enfoca en preescolar y primaria donde se ha observado pérdida de valores como respeto, tolerancia, responsabilidad y solidaridad. Propone utilizar herramientas TIC como Word, PowerPoint, YouTube y software educativo para desarrollar valores mediante actividades lúdicas que aprovechen el potencial de la tecnología en la enseñanza.
El documento describe la importancia del trabajo por proyectos en la educación. Se enfoca en involucrar a los estudiantes en actividades grupales e individuales que despierten su interés y les permitan discutir diferentes puntos de vista. Al trabajar en proyectos, los estudiantes pueden aprender de manera significativa al involucrarse en la resolución de problemas reales.
Este documento presenta una propuesta de aula para mejorar el rendimiento académico y el trabajo en grupo de los estudiantes de primaria en la Institución Educativa José Joaquín Florez Hernández mediante el uso de las TICs. El proyecto busca desarrollar competencias de trabajo en equipo, mejorar el rendimiento académico, implementar las TICs en los contenidos y fomentar el emprendimiento. Se implementará mediante subproyectos sobre bonsáis, reciclaje de papel y derivados lácteos utiliz
Numerosi sono gli spunti emersi nelle Sessioni dell'UTILITY DAY 2016 sia nel corso degli interventi sia nei confronti alle Tavole Rotonde e ai Tavoli Interattivi che si sono tenuti. Le parole chiave che hanno trainato i dibattiti sono state molte, tra cui:
Rivoluzione Tecnologica - Innovazione Culturale - Disruptive Strategy - Sfide Organizzative - Data Driven Business - Data Protection - Customer Engagement - Bisogni del cliente - Centralità del Cittadino - Smart Communities - Piattaforme Tecnologiche - Platform Business Models - Oggetti Connessi - Home Automation - Cyber Security - Smart Mobility - Smart Utility System
Ci rivediamo il 20 settembre 2017!
Conexión a bases de datos con net beans por gioRobert Wolf
Este documento describe cómo conectar aplicaciones Java y NetBeans a una base de datos MySQL utilizando JDBC. Explica que se requiere un conector específico para el manejador de base de datos y que NetBeans incluye un conector para MySQL. A continuación, detalla los pasos para agregar el conector MySQL a un proyecto en NetBeans y para establecer una conexión entre NetBeans y una base de datos MySQL. Finalmente, explica cómo realizar operaciones como consultas en la base de datos desde NetBeans.
Tema 7 desarrollo de aplicaciones en java - lsia por gioRobert Wolf
Este documento describe el desarrollo de aplicaciones en Java utilizando diagramas de secuencia. Explica cómo los diagramas de secuencia describen el orden en que ocurren las invocaciones de métodos entre objetos para implementar casos de uso. Luego presenta un ejemplo de una aplicación de música que permite agregar y actualizar canciones, mostrando el código Java que implementa estos casos de uso siguiendo el diagrama de secuencia correspondiente. Finalmente, describe las clases principales como Control, Conversiones y Tabla que interactúan para llevar a cabo las funcional
1) El documento describe los componentes principales de Java para crear interfaces gráficas de usuario, incluyendo contenedores, manejadores de diseño y componentes. 2) Explica el modelo de programación por eventos en Java y cómo los componentes generan y manejan eventos. 3) Proporciona un ejemplo de interfaz gráfica para una aplicación de música que ilustra el uso de estos componentes.
Javadoc es una herramienta para generar documentación HTML a partir de comentarios en el código. NetBeans facilita la creación de comentarios Javadoc y la generación automática de documentación. Los comentarios Javadoc siguen un formato especial y pueden incluir etiquetas como @param y @return. NetBeans ayuda a editar comentarios y genera documentación con solo seleccionar "Generate Javadoc" en el menú.
1) El documento describe los componentes y conceptos clave para crear interfaces gráficas de usuario en Java como contenedores, manejadores de diseño, componentes activos y de texto, y programación por eventos. 2) También presenta un ejemplo de interfaz gráfica para una aplicación de música que ilustra el uso de estos conceptos. 3) La interfaz incluye ventanas, cuadros de diálogo, tablas, menús y captura de datos para administrar un catálogo de canciones.
Este documento describe la creación de una interfaz gráfica de usuario (GUI) en Java. Explica cómo crear una clase llamada VentanaFrame que herede de JFrame para alojar componentes GUI como etiquetas, campos de texto y botones. También muestra el código para agregar una imagen a una etiqueta y añadir componentes a la ventana para construir la interfaz.
Este documento describe los principales componentes gráficos de Swing para diseñar interfaces de usuario en Java, incluyendo etiquetas, botones, listas desplegables, tablas, ventanas de diálogo y menús. También explica cómo manejar eventos de usuario y dibujar gráficamente usando la clase Graphics.
Este documento describe cómo crear una clase en NetBeans. Explica que debemos ir a New File o presionar Ctrl+N, seleccionar la categoría Java, elegir Java Class como tipo de archivo, asignar un nombre a la clase, especificar el paquete donde se creará la clase y hacer clic en Finish para terminar el proceso.
El documento describe los pasos para crear una clase, un proyecto y varias clases específicas en NetBeans para realizar diferentes cálculos. Estas incluyen una clase para leer datos de entrada, clases para calcular el área de un triángulo, resolver ecuaciones cuadráticas, calcular factoriales y realizar operaciones matemáticas. Se explican los métodos, atributos y constructores requeridos para cada clase.
Este documento describe los principales componentes de la clase Abstract Window Toolkit (AWT) de Java. Explica la jerarquía de la clase Component y describe varios tipos de componentes como labels, botones, choice, list, text fields y text areas. También cubre los diferentes tipos de layout managers como FlowLayout, BorderLayout, GridLayout y CardLayout y cómo estos administran el diseño y posicionamiento de los componentes.
Este documento describe los principales componentes y conceptos de la clase Abstract Window Toolkit (AWT) de Java. Explica la jerarquía de la clase Component y sus subclases como TextComponent, Choice y Container. También describe tipos específicos de componentes como etiquetas, botones y áreas de texto, así como los diferentes tipos de administradores de diseño como FlowLayout, BorderLayout y GridBagLayout.
Tema 9 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En Java, la API JDBC proporciona una interfaz estándar para que un cliente escrito en Java se comunique con administradores de bases de datos. La API JDBC consta de interfaces y clases que representan conexiones, sentencias SQL y resultados de consultas. Las aplicaciones de dos capas encapsulan esta funcionalidad en clases como Conexión y Tabla para establecer conexiones y ejecutar operaciones SQL de forma sencilla.
Este documento describe cómo crear una aplicación Java utilizando una biblioteca de clases (JCL). Explica los conceptos básicos de clases, métodos y paquetes. Luego guía al lector en la creación de una biblioteca de clases propia para desarrollar aplicaciones más complejas de forma sencilla, así como en el uso de dicha biblioteca en una aplicación de ejemplo de tres capas.
1) El documento explica cómo crear un proyecto y clases en NetBeans para desarrollar aplicaciones de consola en Java. 2) Detalla los pasos para crear un proyecto, agregar clases, generar métodos de acceso, editar múltiples clases y compilar. 3) También crea las clases Canción y Prueba para mostrar un ejemplo completo.
Este documento introduce el uso de JTable en Java Swing. Explica cómo crear una tabla simple con datos hardcodeados, y cómo usar modelos de tabla como DefaultTableModel y AbstractTableModel para agregar más funcionalidad. Luego describe las APIs de JTable, DefaultTableModel y AbstractTableModel, e incluye ejemplos de código para ilustrar el uso de estas clases.
Un ResultSet representa los resultados de una consulta SQL y permite acceder a los datos de las filas devueltas mediante métodos get. Contiene una tabla con las cabeceras de columna y valores. El cursor apunta a la fila actual y se mueve mediante el método next(). Los valores de las columnas pueden obtenerse por nombre o número de columna.
Un ResultSet proporciona acceso a los datos de una consulta SQL mediante métodos get() que permiten obtener los valores de las columnas de cada fila. Los métodos get() devuelven valores de diferentes tipos de datos Java en función del tipo de la columna. ResultSet mantiene un cursor que apunta a la fila actual, moviéndose a la siguiente fila cada vez que se llama al método next().
Aquí les dejamos información sobre control jtable con BD espero que les sirva.
Link para mas información:
http://nuevobloglizevelin.blogspot.pe/2017/11/control-jtable-con-base-de-datos.html
Tema 15 aplicaciones de dos capas por gioRobert Wolf
Una aplicación de dos capas separa el código de la aplicación del sistema de administración de la base de datos. En una aplicación de dos capas, el cliente contiene la interfaz de usuario y lógica del negocio, mientras que el servidor contiene un administrador de bases de datos. La API JDBC de Java proporciona una forma estándar para que un cliente Java se comunique con diferentes administradores de bases de datos a través de un protocolo.
Se trata de una de las herramientas de desarrollo incluidas en el JDK. Realiza un análisis de sintaxis del código escrito en los ficheros fuente de Java (con extensión *.java). Si no encuentra errores en el código genera los ficheros compilados (con extensión *.class).
Similar a Tema 8 desarrollo de aplicaciones en java por gio (20)
El documento habla sobre herencia y polimorfismo en programación orientada a objetos en Java. Explica que la herencia permite que una clase herede atributos y métodos de otra clase y extienda su funcionalidad. También cubre clases abstractas, interfaces, y cómo el polimorfismo permite tratar objetos de subclases como si fueran de la clase base.
Este documento proporciona una introducción al desarrollo de componentes EJB. Explica que los EJBs son componentes distribuidos que permiten separar la lógica de negocio de los servicios proporcionados por el contenedor, como comunicaciones en red, transacciones y persistencia. También describe los tres tipos principales de EJBs, el proceso de creación de un EJB que incluye interfaces home y remotas y la clase bean, y cómo empaquetar y desplegar un EJB en un contenedor.
Tema 16 acceso a base de datos usando jpa por gioRobert Wolf
1) El documento describe el acceso a bases de datos usando JPA, una capa de software que reduce la tarea de conversión entre objetos y datos relacionales. 2) JPA mapea objetos a tablas mediante anotaciones y permite operaciones CRUD. 3) Se explican diferentes tipos de mapeo como uno a uno, muchos a uno, herencia y entidades.
El documento describe cómo se representan y manipulan las imágenes en Java. Las imágenes se representan mediante las clases Image y BufferedImage, donde BufferedImage permite acceder directamente a los datos de los pixeles. Un objeto BufferedImage contiene un ColorModel que interpreta los colores de los pixeles y un Raster que almacena y organiza los datos de los pixeles. Las imágenes se pueden crear, dibujar, recortar y guardar usando métodos de estas clases.
Este documento describe la API de Java para gráficas. Explica que la clase Graphics2D es la clase central de la API 2D de Java y se encarga de representar figuras, texto e imágenes en dispositivos de salida. También describe los pasos involucrados en el proceso de presentación gráfica, incluyendo la transformación, entramado y composición de elementos gráficos.
El documento describe las diferencias entre procesos y hilos en la programación concurrente. Un proceso tiene sus propios recursos privados como memoria, mientras que los hilos comparten los recursos de un proceso. En Java, la programación concurrente se basa principalmente en hilos. La clase Thread permite crear nuevos hilos que ejecutan el método run() de forma concurrente al hilo principal. También es posible implementar la interfaz Runnable para crear hilos sin heredar de Thread.
Tema 11 expresiones regulares en java por gioRobert Wolf
Una expresión regular es un patrón que define un conjunto de cadenas y se puede usar para comparar y reemplazar texto. Las expresiones regulares incluyen caracteres, clases de caracteres, cuantificadores, metacaracteres y operadores lógicos que permiten crear patrones complejos. Las expresiones regulares se usan comúnmente para analizar datos como archivos, cadenas de entrada y formularios.
Las clases abstractas y las interfaces en Java sirven para definir comportamientos comunes en clases sin proporcionar una implementación completa. Las clases abstractas pueden contener métodos abstractos y métodos concretos, mientras que las interfaces sólo contienen métodos abstractos. Las subclases de una clase abstracta deben implementar los métodos abstractos, mientras que las clases que implementan una interfaz deben implementar todos sus métodos.
El documento describe los sistemas de archivos y la clase File en Java. Un sistema de archivos organiza los datos de una forma eficiente y está adaptado a las características del dispositivo de almacenamiento. La clase File proporciona una abstracción de los nombres de archivo y rutas que oculta las diferencias entre sistemas operativos al programador.
El documento describe las pruebas unitarias en Java. Explica que es responsabilidad del programador probar su código para asegurarse de que funcione correctamente. También describe cómo se pueden realizar pruebas manuales creando clases de prueba que ejecuten los métodos con diferentes valores de entrada y validen los resultados. Finalmente, introduce el marco JUnit, el cual automatiza el proceso de pruebas a través de anotaciones que indican qué métodos son pruebas y validan sus resultados.
El documento describe los arreglos y cadenas en Java. Explica que un arreglo es una lista de variables del mismo tipo almacenadas en memoria contigua, y cada elemento puede accederse por su posición. Describe arreglos unidimensionales, bidimensionales y tridimensionales, y cómo declarar, crear, inicializar y acceder a los elementos de un arreglo unidimensional. También cubre el uso de arreglos con métodos y el ciclo for-each.
Este documento describe el manejo de excepciones en Java. Explica que cuando ocurre un error en tiempo de ejecución, Java genera una excepción. El código debe incluir bloques try-catch para atrapar las excepciones y manejar los errores de manera adecuada. También describe la jerarquía de clases de excepciones en Java y cómo se usan las sentencias try, catch y finally para atrapar y manejar excepciones.
Tema 3 sentencias de control de java por gioRobert Wolf
Este documento describe los diferentes tipos de sentencias en Java, incluyendo: sentencias de expresión, sentencias compuestas, sentencias condicionales (if y switch), sentencias repetitivas (while, for, do-while), y sentencias de salto. Explica la sintaxis y funcionamiento de cada tipo de sentencia a través de ejemplos.
Tema 2 tipos de datos y expresiones en java por gioRobert Wolf
Este documento describe los tipos de datos en Java, incluyendo tipos primitivos como enteros, reales, booleanos y caracteres, así como tipos compuestos como cadenas. Explica conceptos como literales, variables, ámbito, tiempo de vida y expresiones, las cuales combinan operandos y operadores para procesar datos. Finalmente, detalla los diferentes operadores aritméticos disponibles para cada tipo de dato primitivo en Java.
Tema 1 programación orientada a objetos por gioRobert Wolf
En 3 oraciones o menos:
El documento describe los conceptos básicos de la programación orientada a objetos. Explica que los objetos modelan componentes del mundo real y tienen atributos y métodos. También cubre temas como clases, encapsulamiento, herencia y cómo codificar clases en Java.
Tecnologias de java usando netbeans por gioRobert Wolf
Este documento describe las nuevas características de NetBeans 6.0, incluyendo mejoras en el editor de código, soporte para Ruby y Ruby on Rails, una instalación y actualización más fáciles, enlaces de datos visuales con Swing GUI, profiling integrado, características visuales para desarrollo web, un constructor de juegos gráficos para dispositivos móviles y mejoras en la plataforma NetBeans API. También cubre temas como Matisse GUI Builder, colaboración entre desarrolladores, depuración y perfil
Este documento presenta la clase String en Java, incluyendo métodos como charAt(), length(), compareTo() y substring(). Explica cómo implementar los métodos substring(), toUpperCase() y valueOf() usando solo los métodos ya existentes. substring() devuelve una parte del string, toUpperCase() convierte las letras a mayúsculas y valueOf() convierte un entero a string.
Programas de consola y jpa con net beans por gioRobert Wolf
1. La API de Persistencia de Java (JPA) permite la administración de datos relacionales en Java mediante el mapeo de objetos a tablas de base de datos.
2. NetBeans puede generar entidades JPA a partir de tablas de base de datos y clases controladoras para operar con ellas.
3. Se modifican las entidades generadas por NetBeans para establecer relaciones de herencia y cambiar nombres de atributos y métodos.
Programas de consola en java con net beans por gioRobert Wolf
1) El documento describe los pasos para crear un proyecto de consola en Java usando NetBeans, incluyendo crear un nuevo proyecto, agregar clases, y generar métodos de acceso y equals() y hashCode() automáticamente.
2) Explica cómo crear una clase dentro de un paquete especificado y agregar atributos, constructores y métodos a la clase.
3) Indica que NetBeans permite editar múltiples clases al mismo tiempo en pestañas separadas dentro de la ventana de edición.
Programas de consola en java con net beans por gio
Tema 8 desarrollo de aplicaciones en java por gio
1. ITSON Manuel Domitsu Kono
Tema 8
Desarrollo de Aplicaciones en
Java
En el análisis y Diseño Orientado a objetos, la codificación de una aplicación parte de
los diagramas de clase – diseño y los diagramas de secuencia. Los diagramas de clase
describen los componentes individuales, objetos, a partir de los cuales se construirá la
aplicación y su relación entre ellos. Sin embargo, los diagramas de clase no establecen
como los diferentes componentes interactúan entre sí para lograr las funcionalidades
de la aplicación, quienes realizan esta tarea son los diagramas de secuencia.
Un diagrama de secuencia establece qué tareas y en qué orden deben realizar los
componentes de una aplicación para realizar un caso de uso. Cada componente sabe
realizar un conjunto de tareas. Esas tareas están descritas por el código de los
métodos de su respectiva clase. Para que un componente realice una tarea, su
correspondiente método debe ser invocado. Esa invocación puede ser hecha por otro
componente o por sí mismo. Por lo tanto, un diagrama de secuencia describe el orden
en que ocurren las invocaciones de los métodos de los diferentes objetos que
participan en la realización de un caso de uso.
Un diagrama de secuencia puede codificarse mediante un método, cada una de las
sentencias de dicho método representa una invocación del diagrama de secuencia.
Esos métodos que implementan las realizaciones de los casos de uso se agrupan en
una o más clases llamadas clases de control.
Ejemplo sobre una Aplicación con una Interfaz de
Usuario Gráfica
Por ejemplo, suponga que la aplicación Amante Música, debe tener las funcionalidades
descritas en el diagrama de casos de uso de la figura 8.1.
2. 236 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
Figura 8.1 Diagramas de Caso de Uso de la aplicación Amante Música
El caso de uso Agregar Canción nos permite agregar una canción al catálogo de
canciones. El diagrama de secuencia de la figura 8.2 realiza dicho caso de uso.
3. Tema 8 Desarrollo de Aplicaciones en Java 237
ITSON Manuel Domitsu Kono
Figura 8.2 Diagrama de secuencia – Agregar canción
El caso de uso empieza cuando el usuario selecciona del menú de la ventana de la
aplicación la opción Agregar Canción, haciendo que la opción del menú invoque al
método oyente opcionMenuAgregarCancionActionPerformed(), cuyo código se
muestra en el siguiente fragmento de código:
FrmAmanteMusica.java (Fragmento)
/*
* FrmAmanteMusica.java
*/
package interfazUsuario;
import control.Control;
import control.Tabla;
import java.awt.Dimension;
import java.awt.Toolkit;
/**
* Esta es clase es la clase principal de la aplicación Amante musica.
También
* es la ventana principal de la aplicacion
*
* @author Manuel Domitsu
4. 238 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
*/
public class FrmAmanteMusica extends javax.swing.JFrame {
...
/**
* Metodo oyente que agrega una cancion al catalogo de canciones
*
* @param evt Evento al que escucha
*/
private void
opcionMenuAgregarCancionActionPerformed(java.awt.event.ActionEvent evt) {
// Agrega la nueva canción
if (control.agregaCancion(this)) {
// Obtiene la lista de canciones
Tabla tablaCanciones = control.getTablaCanciones(this);
// Despliega la lista de canciones
despliegaTabla(tablaCanciones);
}
} ...
private javax.swing.JTable jtabla;
Control control = new Control();
}
El método oyente opcionMenuAgregarCancionActionPerformed() primero
invoca al método agregaCanción() de la clase Control que captura la clave de la
canción a agregar, verifica que la canción no existe en el catálogo de canciones,
captura el resto de los datos de la canción y guarda la canción en el catálogo de
canciones. A continuación el método oyente invoca al método
getTablaCanciones() que obtiene la tabla de canciones y por último el método
oyente invoca al método despliegaTabla() para que despliegue la lista de
canciones.
La clase Control se muestra en el diagrama de clases de la figura 8.3.
En el fragmento de código siguiente se muestra el método agregaCanción()
encargado de agregar la canción al catálogo de canciones y el método
getTablaCanciones() que obtiene la lista de canciones del catálogo de canciones.
5. Tema 8 Desarrollo de Aplicaciones en Java 239
ITSON Manuel Domitsu Kono
Figura 8.3 Diagrama de clases del paquete control
Control.java (Fragmento)
/*
* Control.java
*/
package control;
import interfaces.IPersistencia;
import interfazUsuario.*;
import java.util.List;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import objetosNegocio.Cancion;
import objetosNegocio.Genero;
import objetosNegocio.Pelicula;
import objetosServicio.Periodo;
import persistencia.PersistenciaBD;
/**
* Esta clase implementa los casos de uso de la aplicacion Amante Musica.
* @author mdomitsu
*/
public class Control {
// Acceso a los objetos del negocio
6. 240 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
IPersistencia persistencia;
Conversiones conversiones;
/**
* Constructor.
*/
public Control() {
// Crea un objeto del tipo persistencia
persistencia = new PersistenciaBD();
conversiones = new Conversiones();
}
/**
* Agrega una cancion al catalogo de canciones
* @param frame Ventana sobre la que se despliega el cuadro de dialogo para
* capturar los datos de la cancion
* @return Regresa true si se pudo agregar la cancion, false en caso
* contrario
*/
public boolean agregaCancion(JFrame frame) {
Cancion cancion, bCancion;
StringBuffer respuesta = new StringBuffer("");
DlgCancion dlgCancion;
List<Genero> listaGenerosCanciones;
DefaultComboBoxModel<Genero> generosCancionesComboBoxModel;
// Captura la clave de la cancion
String clave = JOptionPane.showInputDialog(frame, "Clave de la cancion:",
"Agregar cancion",
JOptionPane.QUESTION_MESSAGE);
// Si el usuario presiono el boton Cancelar
if(clave == null) return false;
// Crea un objeto Cancion con solo la clave
cancion = new Cancion(clave);
try {
// Obten la cancion del catalogo de canciones
bCancion = persistencia.obten(cancion);
// Obtiene la listade generos de canciones
listaGenerosCanciones = persistencia.consultaGenerosCanciones();
}
catch (Exception e) {
// Si ocurrio un error al leer del catalogo de canciones,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
generosCancionesComboBoxModel = conversiones.
generosComboBoxModel(listaGenerosCanciones);
7. Tema 8 Desarrollo de Aplicaciones en Java 241
ITSON Manuel Domitsu Kono
// Si la cancion existe, despliega sus datos
if(bCancion != null) {
dlgCancion = new DlgCancion(frame,
"La cancion ya esta en el catalogo",
true, bCancion,
generosCancionesComboBoxModel,
ConstantesGUI.DESPLEGAR, respuesta);
return false;
}
// Si la cancion no existe captura los datos de la nueva cancion
dlgCancion = new DlgCancion(frame, "Captura Datos Cancion", true,
cancion, generosCancionesComboBoxModel,
ConstantesGUI.AGREGAR, respuesta);
// Si el usuario presiono el boton Cancelar
if (respuesta.substring(0).equals(ConstantesGUI.CANCELAR)) return false;
// Agrega la nueva cancion al catalogo de canciones
try {
persistencia.agrega(cancion);
}
catch(Exception e) {
// Si ocurrio un error al escribir al catalogo de canciones,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
}
...
/**
* Regresa un objeto Tabla con todas las canciones
* @param frame Ventana sobre la que se despliega el mensaje de error
* @return Objeto Tabla con todas las canciones, null si hay un error
*/
public Tabla getTablaCanciones(JFrame frame) {
List<Cancion> listaCanciones;
try {
// Obtiene la lista de canciones
listaCanciones = persistencia.consultaCanciones();
}
catch (Exception e) {
// Si ocurrio un error al obtener la lista de la base de datos,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return null;
}
// Regresa el objeto Tabla con todas las canciones
return new Tabla("Lista de Canciones",
conversiones.cancionesTableModel(listaCanciones));
8. 242 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
}
...
}
La clase Tabla, cuyo código se muestra enseguida, encapsula los datos de una tabla:
el título de la tabla, y un objeto de tipo DefaultTableModel con los títulos de las
columnas de la tabla y los valores de la tabla.
Tabla.java
/*
* Tabla.java
*/
package control;
import javax.swing.table.DefaultTableModel;
/**
* Esta clase encapsula el titulo de una tabla y un objeto TableModel con
* los datos de una tabla que seran desplegados en una tabla del tipo JTable
*
* @author mdomitsu
*/
public class Tabla {
private String titulo;
private DefaultTableModel modeloTabla;
/**
* Constructor sin parametros
*/
public Tabla() {
}
/**
* Constructor que inicializa los atributos de la clase
*
* @param titulo Titulo de la tabla
* @param modeloTabla Objeto TableModel con los datos de la tabla.
*/
public Tabla(String titulo, DefaultTableModel modeloTabla) {
this.titulo = titulo;
this.modeloTabla = modeloTabla;
}
/**
* Regresa el titulo de la tabla
* @return El titulo de la tabla
*/
public String getTitulo() {
return titulo;
}
/**
* Establece el titulo de la tabla
* @param titulo Titulo de la tabla
9. Tema 8 Desarrollo de Aplicaciones en Java 243
ITSON Manuel Domitsu Kono
*/
public void setTitulo(String titulo) {
this.titulo = titulo;
}
/**
* Regresa los datos de la tabla
* @return Objeto TableModel con los datos de la tabla
*/
public DefaultTableModel getModeloTabla() {
return modeloTabla;
}
/**
* Establece los datos de la tabla
* @param modeloTabla Objeto TableModel con los datos de la tabla
*/
public void setModeloTabla(DefaultTableModel modeloTabla) {
this.modeloTabla = modeloTabla;
}
}
La clase Conversiones contiene métodos que encapsulan listas de canciones,
películas o géneros en objetos del tipo DefaultTableModel usadas por el
componenteJTable para desplegar tablas. También contiene un método que
encapsula una lista de géneros en un objeto del tipo DefaultComboBoxModel
empleado por el componente JComboBox para desplegar la lista de opciones. El
código de la clase Conversiones es el siguiente.
Conversiones.java
/*
* Conversiones.java
*
*/
package control;
import java.util.List;
import javax.swing.DefaultComboBoxModel;
import javax.swing.table.DefaultTableModel;
import objetosNegocio.Cancion;
import objetosNegocio.Genero;
import objetosNegocio.Pelicula;
/**
* Esta clase contiene métodos que generan objetos del tipo DefaultTableModel
* y DefaultComboBoxModel para crear instancias de Jtable y JComboBox.
* @author mdomitsu
*/
public class Conversiones {
// Arreglos con los nombres de las columnas de las tablas
String nombresColumnasTablasCanciones[] = {"Clave", "Titulo", "Interprete",
"Autor", "Genero", "Album",
"Duracion", "Fecha"};
10. 244 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
String nombresColumnasTablasPeliculas[] = {"Clave", "Titulo", "Actor1",
"Actor2", "Director", "Genero",
"Duracion", "Fecha"};
String nombresColumnasTablasGeneros[] = {"Clave", "Nombre", "Tipo"};
/**
* Genera un objeto de tipo DefaultTableModel a partir de una lista de
* canciones.
*
* @param listaCanciones Lista de canciones a convertir
* @return Objeto de tipo DefaultTableModel con los atributos de las
* canciones.
*/
public DefaultTableModel cancionesTableModel(List<Cancion> listaCanciones){
Object tabla[][];
if (listaCanciones != null) {
tabla = new Object[listaCanciones.size()][8];
for (int i = 0; i < listaCanciones.size(); i++) {
// Obten una canción de la lista de canciones
Cancion cancion = listaCanciones.get(i);
// Almacena sus atributos en la fila del arreglo
tabla[i][0] = cancion.getClave();
tabla[i][1] = cancion.getTitulo();
tabla[i][2] = cancion.getInterprete();
tabla[i][3] = cancion.getAutor();
tabla[i][4] = cancion.getGenero().getNombre();
tabla[i][5] = cancion.getAlbum();
tabla[i][6] = new Integer(cancion.getDuracion());
tabla[i][7] = cancion.getFecha();
}
return new DefaultTableModel(tabla, nombresColumnasTablasCanciones);
}
return null;
}
/**
* Genera un objeto de tipo DefaultTableModel a partir de una lista de
* peliculas.
*
* @param listaPeliculas Lista de peliculas a convertir
* @return Objeto de tipo DefaultTableModel con los atributos de las
* peliculas.
*/
public DefaultTableModel peliculasTableModel(List<Pelicula> listaPeliculas){
Object tabla[][];
if (listaPeliculas != null) {
tabla = new Object[listaPeliculas.size()][8];
for (int i = 0; i < listaPeliculas.size(); i++) {
// Obten una canción de la lista de canciones
Pelicula pelicula = listaPeliculas.get(i);
// Almacena sus atributos en la fila del arreglo
tabla[i][0] = pelicula.getClave();
tabla[i][1] = pelicula.getTitulo();
tabla[i][2] = pelicula.getActor1();
11. Tema 8 Desarrollo de Aplicaciones en Java 245
ITSON Manuel Domitsu Kono
tabla[i][3] = pelicula.getActor2();
tabla[i][4] = pelicula.getDirector();
tabla[i][5] = pelicula.getGenero().getNombre();
tabla[i][6] = new Integer(pelicula.getDuracion());
tabla[i][7] = pelicula.getFecha();
}
return new DefaultTableModel(tabla, nombresColumnasTablasPeliculas);
}
return null;
}
/**
* Genera un objeto de tipo DefaultTableModel a partir de una lista de
* generos.
*
* @param listaGeneros Lista de generos a convertir
* @return Objeto de tipo DefaultTableModel con los atributos de los
* generos.
*/
public DefaultTableModel generosTableModel(List<Genero> listaGeneros) {
Object tabla[][];
if (listaGeneros != null) {
tabla = new Object[listaGeneros.size()][3];
for (int i = 0; i < listaGeneros.size(); i++) {
// Obten un género de la lista de géneros
Genero genero = (Genero) listaGeneros.get(i);
// Almacena sus atributos en la fila del arreglo
tabla[i][0] = genero.getCveGenero();
tabla[i][1] = genero.getNombre();
tabla[i][2] = genero.getTipoMedio();
}
return new DefaultTableModel(tabla, nombresColumnasTablasGeneros);
}
return null;
}
/**
* Genera un objeto de tipo DefaultComboBoxModel a partir de una lista de
* géneros.
*/
public DefaultComboBoxModel<Genero> generosComboBoxModel(List<Genero>
listaGeneros) {
DefaultComboBoxModel<Genero> defaultComboBoxModel = new
DefaultComboBoxModel<>();
if (listaGeneros != null) {
// Para cada elemento de la Lista
for (int i = 0; i < listaGeneros.size(); i++)
{
// Agregalo a la instancia de la clase DefaultComboBoxModel
defaultComboBoxModel.addElement(listaGeneros.get(i));
}
return defaultComboBoxModel;
12. 246 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
}
return null;
}
}
El caso de uso Actualizar Canción nos permite actualizar una canción del catálogo de
canciones. El diagrama de secuencia de la figura 8.4 realiza dicho caso de uso.
Figura 8.4 Diagrama de Secuencia – Actualizar Canción
El caso de uso empieza cuando el usuario selecciona del menú de la ventana de la
aplicación la opción Actualizar Canción, haciendo que la opción del menú invoque al
método oyente opcionMenuActualizarCancionActionPerformed(), cuyo
código se muestra en el siguiente fragmento de código:
FrmAmanteMusica.java (Fragmento)
...
/**
* Metodo oyente que actualiza una cancion del catalogo de canciones
*
* @param evt Evento al que escucha
*/
private void
13. Tema 8 Desarrollo de Aplicaciones en Java 247
ITSON Manuel Domitsu Kono
opcionMenuActualizarCancionActionPerformed(java.awt.event.ActionEvent evt) {
// Actualiza la canción
if (control.actualizaCancion(this)) {
// Obtiene la lista de canciones
Tabla tablaCanciones = control.getTablaCanciones(this);
// Despliega la lista de canciones
despliegaTabla(tablaCanciones);
}
} ...
El método oyente opcionMenuActualizarCancionActionPerformed() primero
invoca al método actualizaCanción() de la clase Control que captura la clave de
la canción a actualizar, obtiene la canción del catálogo de canciones, edita los datos de
la canción y guarda la canción en el catálogo de canciones. A continuación el método
oyente invoca al método getTablaCanciones() que obtiene la tabla de canciones y
por último el método oyente invoca al método despliegaTabla() para que
despliegue la lista de canciones.
En el fragmento de código siguiente se muestra el método actualizaCanción()
encargado de actualizar la canción del catálogo de canciones.
Control.java (Fragmento)
/**
* Actualiza una cancion del catalogo de canciones
* @param frame Ventana sobre la que se despliega el cuadro de dialogo para
* editar los datos de la cancion
* @return Regresa true si se pudo actualizar la cancion, false en caso
* contrario
*/
public boolean actualizaCancion(JFrame frame) {
Cancion cancion;
StringBuffer respuesta = new StringBuffer("");
DlgCancion dlgCancion;
List<Genero> listaGenerosCanciones;
DefaultComboBoxModel<Genero> generosCancionesComboBoxModel;
// Captura la clave de la cancion
String clave = JOptionPane.showInputDialog(frame, "Clave de la cancion:",
"Actualizar cancion",
JOptionPane.QUESTION_MESSAGE);
// Si el usuario presiono el boton Cancelar
if(clave == null) return false;
// Crea un objeto Cancion con solo la clave
cancion = new Cancion(clave);
try {
// Obten la cancion del catalogo de canciones
cancion = persistencia.obten(cancion);
}
14. 248 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
catch (Exception e) {
// Si ocurrio un error al leer del catalogo de canciones,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
// Si la cancion no existe, despliega un mensaje de error
if(cancion == null) {
JOptionPane.showMessageDialog(frame,
"La cancion no existe", "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
try {
// Obtiene la lista de generos de canciones
listaGenerosCanciones = persistencia.consultaGenerosCanciones();
}
catch (Exception e) {
// Si ocurrio un error al obtener la lista de la base de datos,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
generosCancionesComboBoxModel = conversiones.
generosComboBoxModel(listaGenerosCanciones);
// Si la cancion existe, edita los datos de la cancion
dlgCancion = new DlgCancion(frame, "Edita Datos Cancion", true, cancion,
generosCancionesComboBoxModel,
ConstantesGUI.ACTUALIZAR, respuesta);
// Si el usuario presiono el boton Cancelar
if (respuesta.substring(0).equals(ConstantesGUI.CANCELAR)) return false;
// Actualiza la cancion del catalogo de canciones
try {
persistencia.actualiza(cancion);
}
catch(Exception e) {
// Si ocurrio un error al escribir al catalogo de canciones,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
}
El caso de uso Eliminar Canción nos permite eliminar una canción del catálogo de
canciones. El diagrama de secuencia de la figura 8.5 realiza dicho caso de uso.
15. Tema 8 Desarrollo de Aplicaciones en Java 249
ITSON Manuel Domitsu Kono
Figura 8.5 Diagrama de Secuencia – Eliminar Canción
El caso de uso empieza cuando el usuario selecciona del menú de la ventana de la
aplicación la opción Eliminar Canción, haciendo que la opción del menú invoque al
método oyente opcionMenuEliminarCancionActionPerformed(), cuyo código
se muestra en el siguiente fragmento de código:
FrmAmanteMusica.java (Fragmento)
...
/**
* Metodo oyente que elimina una cancion del catalogo de canciones
*
* @param evt Evento al que escucha
*/
private void
opcionMenuEliminarCancionActionPerformed(java.awt.event.ActionEvent evt) {
if (control.eliminaCancion(this)) {
// Obtiene la lista de canciones
Tabla tablaCanciones = control.getTablaCanciones(this);
// Despliega la lista de canciones
despliegaTabla(tablaCanciones);
16. 250 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
}
}
...
El método oyente opcionMenuEliminarCancionActionPerformed() primero
invoca al método eliminaCanción() de la clase Control que captura la clave de la
canción a eliminar, obtiene la canción del catálogo de canciones, la muestra para
confirmar la orden y elimina la canción en el catálogo de canciones. A continuación el
método oyente invoca al método getTablaCanciones() que obtiene la tabla de
canciones y por último el método oyente invoca al método despliegaTabla() para
que despliegue la lista de canciones.
En el fragmento de código siguiente se muestra el método eliminaCanción()
encargado de eliminar la canción del catálogo de canciones.
Control.java (Fragmento)
...
/**
* Elimina una cancion del catalogo de canciones
* @param frame Ventana sobre la que se despliega el cuadro de dialogo para
* desplegar los datos de la cancion
* @return Regresa true si se pudo eliminar la cancion, false en caso
* contrario
*/
public boolean eliminaCancion(JFrame frame) {
Cancion cancion;
StringBuffer respuesta = new StringBuffer();
DlgCancion dlgCancion;
List<Genero> listaGenerosCanciones;
DefaultComboBoxModel<Genero> generosCancionesComboBoxModel;
// Captura la clave de la cancion
String clave = JOptionPane.showInputDialog(frame, "Clave de la cancion:",
"Eliminar cancion",
JOptionPane.QUESTION_MESSAGE);
// Si el usuario presiono el boton Cancelar
if(clave == null) return false;
// Crea un objeto Cancion con solo la clave
cancion = new Cancion(clave);
try {
// Obten la cancion del catalogo de canciones
cancion = persistencia.obten(cancion);
}
catch (Exception e) {
// Si ocurrio un error al leer del catalogo de canciones
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
17. Tema 8 Desarrollo de Aplicaciones en Java 251
ITSON Manuel Domitsu Kono
}
// Si la cancion no existe en el catalogo de canciones,
if(cancion == null) {
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, "La cancion no existe",
"Error!!.", JOptionPane.ERROR_MESSAGE);
return false;
}
try {
// Obtiene la lista de generos de canciones
listaGenerosCanciones = persistencia.consultaGenerosCanciones();
}
catch (Exception e) {
// Si ocurrio un error al obtener la lista de la base de datos,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
generosCancionesComboBoxModel = conversiones.
generosComboBoxModel(listaGenerosCanciones);
// Si existe la cancion, despliega los datos de la cancion
dlgCancion = new DlgCancion(frame, "Cancion a borrar", true, cancion,
generosCancionesComboBoxModel,
ConstantesGUI.ELIMINAR, respuesta);
// Si el usuario presiono el boton Cancelar
if(respuesta.substring(0).equals(ConstantesGUI.CANCELAR)) return false;
try {
// Elimina la cancion del catalogo de canciones
persistencia.elimina(cancion);
}
catch(Exception e) {
// Si ocurrio un error al borrar del catalogo de canciones,
// despliega mensaje de error
JOptionPane.showMessageDialog(frame, e.getMessage(), "Error!!.",
JOptionPane.ERROR_MESSAGE);
return false;
}
return true;
}
...
El caso de uso Consulta Canciones nos permite listar las canciones del catálogo de
canciones. El diagrama de secuencia de la figura 8.6 realiza dicho caso de uso.
18. 252 Desarrollo de Aplicaciones en Java
ITSON Manuel Domitsu Kono
Figura 8.6 Diagrama de Secuencia – Consultar Canciones
El caso de uso empieza cuando el usuario selecciona del menú de la ventana de la
aplicación la opción Consulta Canciones Todas, haciendo que la opción del menú
invoque al método oyente
opcionMenuConsultasCancionesTodasActionPerformed(), cuyo código se
muestra en el siguiente fragmento de código:
FrmAmanteMusica.java (Fragmento)
...
/**
* Metodo oyente que obtiene y despliega la lista de canciones
*
* @param evt Evento al que escucha
*/
private void
opcionMenuConsultasCancionesTodasActionPerformed(java.awt.event.ActionEvent
evt) {
// Obtiene la lista de canciones
Tabla tablaCanciones = control.getTablaCanciones(this);
// Despliega la lista de canciones
if (tablaCanciones != null) {
despliegaTabla(tablaCanciones);
}
} ...