SlideShare una empresa de Scribd logo
1 de 20
Descargar para leer sin conexión
12.Gráficos y Bases de Datos.
Ramiro Estigarribia Canese
Introducción
➔ En este capítulo veremos herramientas de Java
para dibujar figuras bidimensionales, controlar
colores y fuentes.
➔ Uno de los principales atractivos de Java es su
soporte para gráficos.
➔ Java contiene muchas herramientas sofisticadas de
dibujo como parte de la API Java 2D.
➔ Finalmente vamos a realizar una introducción a la
creación de aplicaciones con Bases de Datos.
1. Ejemplo:
Elecciones - Gráfico de Torta
Para las elecciones a Presidente, se necesita una
aplicación que solicite el ingreso de 2 valores que
representan las cantidades de votos obtenidas por tres
partidos políticos.
Luego mostrar el resultado en un gráfico de tortas.
1. Ejemplo:
Elecciones
package grafico;
importc.*;
import javax.swing.*;
import java.awt.event.*;
public class Grafico extends JFrame {
JPanel contentPane;
JTextField tf1,tf2;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
Grafico frame = new Grafico();
frame.setVisible(true); } }); }
public Grafico() {
setBounds(100, 100, 250, 500);
contentPane = new JPanel();
setContentPane(contentPane);
contentPane.setLayout(null);
https://paste.ee/p/dz1nG
JLabel Colorado = new JLabel
("Colorado:");
Colorado.setBounds(46,39,120,14);
contentPane.add(Colorado);
JLabel Liberal = new JLabel("Liberal:");
Liberal.setBounds(46, 69, 120, 14);
contentPane.add(Liberal);
tf1 = new JTextField();
tf1.setBounds(150, 36, 86, 20);
contentPane.add(tf1);
tf2 = new JTextField();
tf2.setBounds(150, 66, 86, 20);
contentPane.add(tf2);
JButton btnGraficar = new JButton
("Graficar");
btnGraficar.addActionListener(new
ActionListener() {
public void actionPerformed(ActionEvent a)
{
repaint(); } });
btnGraficar.setBounds(45,138,107,37);
contentPane.add(btnGraficar);
}
public void paint(Graphics g) {
super.paint(g);
String s1=tf1.getText();
String s2=tf2.getText();
int v1=Integer.parseInt(s1);
int v2=Integer.parseInt(s2);
int suma=v1+v2;
int grados1=v1*360/suma;
int grados2=v2*360/suma;
g.setColor (Color.red);
g.fillArc(50,250,200,200,0,grados1);
g.setColor (Color.blue);
g.fillArc(50,250,200,200,grados1,grados2);} }
2. Ejemplo:
Elecciones - Gráfico de Barras
Para las elecciones a Presidente, se necesita una
aplicación que solicite el ingreso de 2 valores que
representan las cantidades de votos obtenidas por tres
partidos políticos.
Luego mostrar el resultado en un gráfico de tortas.
1. Ejemplo:
Elecciones
package grafico;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Grafico extends JFrame {
JPanel contentPane;
JTextField tf1,tf2;
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
Grafico frame = new Grafico();
frame.setVisible(true); } }); }
public Grafico() {
setBounds(100, 100, 250, 500);
contentPane = new JPanel();
setContentPane(contentPane);
contentPane.setLayout(null);
https://paste.ee/p/SivyY
JLabel Colorado = new JLabel
("Colorado:");
Colorado.setBounds(46,39,120,14);
contentPane.add(Colorado);
JLabel Liberal = new JLabel("Liberal:");
Liberal.setBounds(46, 69, 120, 14);
contentPane.add(Liberal);
tf1 = new JTextField();
tf1.setBounds(150, 36, 86, 20);
contentPane.add(tf1);
tf2 = new JTextField();
tf2.setBounds(150, 66, 86, 20);
contentPane.add(tf2);
JButton btnGraficar = new JButton
("Graficar");
btnGraficar.addActionListener(new
ActionListener() {
public void actionPerformed(ActionEvent a)
{
repaint(); } });
btnGraficar.setBounds(45,138,107,37);
contentPane.add(btnGraficar);
}
public void paint(Graphics g) {
super.paint(g);
String s1=tf1.getText();
String s2=tf2.getText();
int v1=Integer.parseInt(s1);
int v2=Integer.parseInt(s2);
g.setColor(Color.red);
g.fillRect(100,250,v1,40);
g.setColor(Color.blue);
g.fillRect(100,300,v2,40);
} }
Bases de Datos
➔ Es una colección organizada de datos.
Existen diversas estrategias para organizar datos y
facilitar el acceso y la manipulación.
➔ Proporciona los mecanismos para almacenar,
organizar, obtener y modificar datos para muchos
usuarios.
➔ Permiten el acceso y almacenamiento de datos sin
necesidad de preocuparse por su complejidad
interna.
JDBC con MySQL
JDBC son las siglas en ingles de Java
Database Connectivity.
Es un conjunto de clases que nos permite acceder a
diversos gestores de bases de datos en forma
transparente.
Un lenguaje llamado SQL es el lenguaje estándar que
se utiliza con las bases de datos para realizar
consultas y manipular datos.
Algunas bases de datos populares son SQL Server,
Oracle, Sybase, DB2, PostgreSQL y MySQL.
¿Qué es PhpMyAdmin?
phpMyAdmin es una herramienta escrita en PHP con
la intención de manejar la administración de MySQL a
través de páginas web, utilizando Internet.
Actualmente puede crear y eliminar Bases de Datos,
crear, eliminar y alterar tablas, borrar, editar y añadir
campos, ejecutar cualquier sentencia SQL, administrar
claves en campos, administrar privilegios, exportar
datos en varios formatos y está disponible en 62
idiomas.
Se encuentra disponible bajo la licencia GPL.
Acceso a PhpMyAdmin
Ingresar en: http://192.168.1.1/phpmyadmin/
Inicio de PhpMyAdmin
Creación de Base de Datos
1. Ingresar en la opción Bases de Datos.
2. Escribir el nombre, y presionar el botón Crear.
Creación de Tablas
1. Ingresar en la Base de Datos creada. (Columbia)
2. Escribir el nombre, el número de columnas y
presionar el botón Continuar.
Añadir campos a la tabla.
Insertar datos
Ingresar en la tabla Alumnos y presionar el botón Insertar.
Proyecto Netbeans - MySQL
➔ Es necesario crear un proyecto:
“Java Application”.
➔ Posteriormente hacer click derecho
sobre el proyecto.
➔ Elegir Propieties.
➔ Elegir Libraries, y añadir:
MySQL JDBC Driver
package db;
import java.sql.*;
public class Db {
public static void main(String[] argv) {
System.out.println("-------- MySQL JDBC Connection Testing ------------");
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
System.out.println("Where is your MySQL JDBC Driver?");
e.printStackTrace();
return; }
System.out.println("MySQL JDBC Driver Registered!");
Connection connection = null;
try {
connection = DriverManager
.getConnection("jdbc:mysql://172.16.92.129:3306/test","java", "123");
} catch (SQLException e) {
System.out.println("Connection Failed! Check output console");
e.printStackTrace();
return; }
if (connection != null)
System.out.println("You made it, take control your database now!");
else
System.out.println("Failed to make connection!");
} }
EJEMPLO TEST DE CONEXIÓN
package db;
import java.sql.*;
public class Db{
public static void main(String[] args) {
try
{
String myDriver = "com.mysql.jdbc.Driver"; // create our mysql database connection
String myUrl = "jdbc:mysql://172.16.92.129/test";
Class.forName(myDriver);
Connection conn = DriverManager.getConnection(myUrl, "java", "123");
String query = "SELECT * FROM users"; // our SQL SELECT query.
Statement st = conn.createStatement();
ResultSet rs = st.executeQuery(query);
while (rs.next())
{
int id = rs.getInt("id");
String firstName = rs.getString("first_name");
String lastName = rs.getString("last_name");
Date dateCreated = rs.getDate("date_created");
boolean isAdmin = rs.getBoolean("is_admin");
int numPoints = rs.getInt("num_points");
System.out.println(+id+"|"+firstName+"|"+lastName+"|"+dateCreated+"|"+isAdmin+"|"+numPoints);
}
st.close();
}
catch (Exception e) {
System.err.println("Got an exception! ");
System.err.println(e.getMessage());
} } }
EJEMPLO SELECCIONAR DATOS
Fuente: http://alvinalexander.com/java/java-mysql-
select-query-example

Más contenido relacionado

Similar a 12.gráficos y bases de datos

Similar a 12.gráficos y bases de datos (20)

Prueba regresion lineal
Prueba regresion linealPrueba regresion lineal
Prueba regresion lineal
 
In 22
In 22In 22
In 22
 
Java tema06a
Java tema06aJava tema06a
Java tema06a
 
Creacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeansCreacion de proyecto_en_netbeans
Creacion de proyecto_en_netbeans
 
Dashboard cde pentaho
Dashboard cde pentahoDashboard cde pentaho
Dashboard cde pentaho
 
22
2222
22
 
Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005Guia de Laboratorios 5 - VB.NET 2005
Guia de Laboratorios 5 - VB.NET 2005
 
Taller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataformaTaller desarrollando sitios web multiplataforma
Taller desarrollando sitios web multiplataforma
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4
 
Presentacion Tesis
Presentacion TesisPresentacion Tesis
Presentacion Tesis
 
Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje C
 
Mp mardoqueo informe tecnico tap
Mp mardoqueo informe tecnico tapMp mardoqueo informe tecnico tap
Mp mardoqueo informe tecnico tap
 
Aplicación zirconia
Aplicación zirconiaAplicación zirconia
Aplicación zirconia
 
Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01Desarrollo De Programas Ejemplos 01
Desarrollo De Programas Ejemplos 01
 
Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01Desarrollo de programas_ejemplos_01
Desarrollo de programas_ejemplos_01
 
Practica 1 html_basico
Practica 1 html_basicoPractica 1 html_basico
Practica 1 html_basico
 
2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)2 interfaces graficas_de_usuario (1)
2 interfaces graficas_de_usuario (1)
 
Awt
AwtAwt
Awt
 
Programación i
Programación iProgramación i
Programación i
 
programas
programasprogramas
programas
 

Más de Ramiro Estigarribia Canese

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdfRamiro Estigarribia Canese
 

Más de Ramiro Estigarribia Canese (20)

8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf8.Flujo, Comportamiento, Patrones y WebApps.pdf
8.Flujo, Comportamiento, Patrones y WebApps.pdf
 
Principios que Guían la Práctica
Principios que Guían la PrácticaPrincipios que Guían la Práctica
Principios que Guían la Práctica
 
CSS - Hojas de Estilo en Cascada.pdf
CSS -  Hojas de Estilo en Cascada.pdfCSS -  Hojas de Estilo en Cascada.pdf
CSS - Hojas de Estilo en Cascada.pdf
 
Python conceptos básicos
Python   conceptos básicosPython   conceptos básicos
Python conceptos básicos
 
Diseño de WebApps
Diseño de WebAppsDiseño de WebApps
Diseño de WebApps
 
Diseño basado en patrones
Diseño basado en patronesDiseño basado en patrones
Diseño basado en patrones
 
Servicios web
Servicios webServicios web
Servicios web
 
Especificaciones de los procesadores
Especificaciones de los procesadoresEspecificaciones de los procesadores
Especificaciones de los procesadores
 
Lenguaje de programación awk
Lenguaje de programación awkLenguaje de programación awk
Lenguaje de programación awk
 
Bases de datos con PHP y PDO
Bases de datos con PHP y PDOBases de datos con PHP y PDO
Bases de datos con PHP y PDO
 
Bases de datos con PHP y Mysqli
Bases de datos con PHP y MysqliBases de datos con PHP y Mysqli
Bases de datos con PHP y Mysqli
 
Interfaz de usuario
Interfaz de usuarioInterfaz de usuario
Interfaz de usuario
 
Variables del sistema en php
Variables del sistema en phpVariables del sistema en php
Variables del sistema en php
 
Funciones en php
Funciones en phpFunciones en php
Funciones en php
 
Bootstrap menues, contenedores y formularios
Bootstrap   menues, contenedores y formulariosBootstrap   menues, contenedores y formularios
Bootstrap menues, contenedores y formularios
 
Estructuras de control en bash
Estructuras de control en bashEstructuras de control en bash
Estructuras de control en bash
 
Visual studio code
Visual studio codeVisual studio code
Visual studio code
 
Diseño de software
Diseño de softwareDiseño de software
Diseño de software
 
Herramienta cacti
Herramienta cactiHerramienta cacti
Herramienta cacti
 
Monitoreo de datacenter
Monitoreo de datacenterMonitoreo de datacenter
Monitoreo de datacenter
 

Último

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 

Último (20)

Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 

12.gráficos y bases de datos

  • 1. 12.Gráficos y Bases de Datos. Ramiro Estigarribia Canese
  • 2. Introducción ➔ En este capítulo veremos herramientas de Java para dibujar figuras bidimensionales, controlar colores y fuentes. ➔ Uno de los principales atractivos de Java es su soporte para gráficos. ➔ Java contiene muchas herramientas sofisticadas de dibujo como parte de la API Java 2D. ➔ Finalmente vamos a realizar una introducción a la creación de aplicaciones con Bases de Datos.
  • 3. 1. Ejemplo: Elecciones - Gráfico de Torta Para las elecciones a Presidente, se necesita una aplicación que solicite el ingreso de 2 valores que representan las cantidades de votos obtenidas por tres partidos políticos. Luego mostrar el resultado en un gráfico de tortas.
  • 4. 1. Ejemplo: Elecciones package grafico; importc.*; import javax.swing.*; import java.awt.event.*; public class Grafico extends JFrame { JPanel contentPane; JTextField tf1,tf2; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { Grafico frame = new Grafico(); frame.setVisible(true); } }); } public Grafico() { setBounds(100, 100, 250, 500); contentPane = new JPanel(); setContentPane(contentPane); contentPane.setLayout(null); https://paste.ee/p/dz1nG
  • 5. JLabel Colorado = new JLabel ("Colorado:"); Colorado.setBounds(46,39,120,14); contentPane.add(Colorado); JLabel Liberal = new JLabel("Liberal:"); Liberal.setBounds(46, 69, 120, 14); contentPane.add(Liberal); tf1 = new JTextField(); tf1.setBounds(150, 36, 86, 20); contentPane.add(tf1); tf2 = new JTextField(); tf2.setBounds(150, 66, 86, 20); contentPane.add(tf2); JButton btnGraficar = new JButton ("Graficar"); btnGraficar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent a) { repaint(); } }); btnGraficar.setBounds(45,138,107,37); contentPane.add(btnGraficar); } public void paint(Graphics g) { super.paint(g); String s1=tf1.getText(); String s2=tf2.getText(); int v1=Integer.parseInt(s1); int v2=Integer.parseInt(s2); int suma=v1+v2; int grados1=v1*360/suma; int grados2=v2*360/suma; g.setColor (Color.red); g.fillArc(50,250,200,200,0,grados1); g.setColor (Color.blue); g.fillArc(50,250,200,200,grados1,grados2);} }
  • 6. 2. Ejemplo: Elecciones - Gráfico de Barras Para las elecciones a Presidente, se necesita una aplicación que solicite el ingreso de 2 valores que representan las cantidades de votos obtenidas por tres partidos políticos. Luego mostrar el resultado en un gráfico de tortas.
  • 7. 1. Ejemplo: Elecciones package grafico; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class Grafico extends JFrame { JPanel contentPane; JTextField tf1,tf2; public static void main(String[] args) { EventQueue.invokeLater(new Runnable() { public void run() { Grafico frame = new Grafico(); frame.setVisible(true); } }); } public Grafico() { setBounds(100, 100, 250, 500); contentPane = new JPanel(); setContentPane(contentPane); contentPane.setLayout(null); https://paste.ee/p/SivyY
  • 8. JLabel Colorado = new JLabel ("Colorado:"); Colorado.setBounds(46,39,120,14); contentPane.add(Colorado); JLabel Liberal = new JLabel("Liberal:"); Liberal.setBounds(46, 69, 120, 14); contentPane.add(Liberal); tf1 = new JTextField(); tf1.setBounds(150, 36, 86, 20); contentPane.add(tf1); tf2 = new JTextField(); tf2.setBounds(150, 66, 86, 20); contentPane.add(tf2); JButton btnGraficar = new JButton ("Graficar"); btnGraficar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent a) { repaint(); } }); btnGraficar.setBounds(45,138,107,37); contentPane.add(btnGraficar); } public void paint(Graphics g) { super.paint(g); String s1=tf1.getText(); String s2=tf2.getText(); int v1=Integer.parseInt(s1); int v2=Integer.parseInt(s2); g.setColor(Color.red); g.fillRect(100,250,v1,40); g.setColor(Color.blue); g.fillRect(100,300,v2,40); } }
  • 9. Bases de Datos ➔ Es una colección organizada de datos. Existen diversas estrategias para organizar datos y facilitar el acceso y la manipulación. ➔ Proporciona los mecanismos para almacenar, organizar, obtener y modificar datos para muchos usuarios. ➔ Permiten el acceso y almacenamiento de datos sin necesidad de preocuparse por su complejidad interna.
  • 10. JDBC con MySQL JDBC son las siglas en ingles de Java Database Connectivity. Es un conjunto de clases que nos permite acceder a diversos gestores de bases de datos en forma transparente. Un lenguaje llamado SQL es el lenguaje estándar que se utiliza con las bases de datos para realizar consultas y manipular datos. Algunas bases de datos populares son SQL Server, Oracle, Sybase, DB2, PostgreSQL y MySQL.
  • 11. ¿Qué es PhpMyAdmin? phpMyAdmin es una herramienta escrita en PHP con la intención de manejar la administración de MySQL a través de páginas web, utilizando Internet. Actualmente puede crear y eliminar Bases de Datos, crear, eliminar y alterar tablas, borrar, editar y añadir campos, ejecutar cualquier sentencia SQL, administrar claves en campos, administrar privilegios, exportar datos en varios formatos y está disponible en 62 idiomas. Se encuentra disponible bajo la licencia GPL.
  • 12. Acceso a PhpMyAdmin Ingresar en: http://192.168.1.1/phpmyadmin/
  • 14. Creación de Base de Datos 1. Ingresar en la opción Bases de Datos. 2. Escribir el nombre, y presionar el botón Crear.
  • 15. Creación de Tablas 1. Ingresar en la Base de Datos creada. (Columbia) 2. Escribir el nombre, el número de columnas y presionar el botón Continuar.
  • 16. Añadir campos a la tabla.
  • 17. Insertar datos Ingresar en la tabla Alumnos y presionar el botón Insertar.
  • 18. Proyecto Netbeans - MySQL ➔ Es necesario crear un proyecto: “Java Application”. ➔ Posteriormente hacer click derecho sobre el proyecto. ➔ Elegir Propieties. ➔ Elegir Libraries, y añadir: MySQL JDBC Driver
  • 19. package db; import java.sql.*; public class Db { public static void main(String[] argv) { System.out.println("-------- MySQL JDBC Connection Testing ------------"); try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { System.out.println("Where is your MySQL JDBC Driver?"); e.printStackTrace(); return; } System.out.println("MySQL JDBC Driver Registered!"); Connection connection = null; try { connection = DriverManager .getConnection("jdbc:mysql://172.16.92.129:3306/test","java", "123"); } catch (SQLException e) { System.out.println("Connection Failed! Check output console"); e.printStackTrace(); return; } if (connection != null) System.out.println("You made it, take control your database now!"); else System.out.println("Failed to make connection!"); } } EJEMPLO TEST DE CONEXIÓN
  • 20. package db; import java.sql.*; public class Db{ public static void main(String[] args) { try { String myDriver = "com.mysql.jdbc.Driver"; // create our mysql database connection String myUrl = "jdbc:mysql://172.16.92.129/test"; Class.forName(myDriver); Connection conn = DriverManager.getConnection(myUrl, "java", "123"); String query = "SELECT * FROM users"; // our SQL SELECT query. Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(query); while (rs.next()) { int id = rs.getInt("id"); String firstName = rs.getString("first_name"); String lastName = rs.getString("last_name"); Date dateCreated = rs.getDate("date_created"); boolean isAdmin = rs.getBoolean("is_admin"); int numPoints = rs.getInt("num_points"); System.out.println(+id+"|"+firstName+"|"+lastName+"|"+dateCreated+"|"+isAdmin+"|"+numPoints); } st.close(); } catch (Exception e) { System.err.println("Got an exception! "); System.err.println(e.getMessage()); } } } EJEMPLO SELECCIONAR DATOS Fuente: http://alvinalexander.com/java/java-mysql- select-query-example