MANUAL DE JAVA
MANUAL DE PROGRAMACIÓN DE
JAVA
|
||||||
MENU DE OPCIONES:
|
||||||
Concepto:
Java es un lenguaje
concurrente, orientado a objetos, que fue diseñado para tener pocas
dependencias, como este le fuera posible, así mismo, este ya fue creado con
las librerías y documentación básica. Por lo cual el programador tiene
solamente que programar nada más, así mismo este es un lenguaje estándar es
decir, está hecho para que funcione tanto, en ordenadores normales, como en
celulares y dispositivos generales.
|
||||||
Importancia
La programación de java es
importante ya que es un lenguaje orientado a objetos, pues ya vienen con
todas las librerías necesarias y las dependencias necesarias como
dice el concepto. También radica su
importancia por la múltiples plataformas que soporta el mismo, pues puede ser
instalado en cualquier dispositivo, ordenador e incluso aparatos
electrónicos.
|
||||||
Sintaxis
public class TablaMultiplicar{
public static void main(String
arg[]){
}
}
|
||||||
Modelo, Vista y Controlador
El modelo vista controlador
funciona de la siguiente forma.
|
||||||
MODELO:
En esta va las clases
constructoras y los diferentes get y set que servirán para poder guardar
temporalmente la información.
|
VISTA:
Van las diferentes
pantallas a programar simplemente se las llama del modelo y las conexiones se
las llama desde el controlador.
|
CONTROLADOR
El controlador va las
conexiones a base de datos que servirán para todo el programa.
|
||||
Pasos para la realización de un sistema: |
||||||
Analizar el ejercicio: |
||||||
Análisis de Requerimientos
UML tiene casos de uso
(use-cases) para capturar los requerimientos del cliente. A través del
modelado de casos de uso, los actores externos que tienen interés en el
sistema son modelados con la funcionalidad que ellos requieren del sistema
(los casos de uso). Los actores y los casos de uso son modelados con
relaciones y tienen asociaciones entre ellos o éstas son divididas en
jerarquías. Los actores y casos de uso son descritos en un diagrama use-case.
Cada use-case es descrito en texto y especifica los requerimientos del
cliente: lo que él (o ella) espera del sistema sin considerar la
funcionalidad que se implementará. Un análisis de requerimientos puede ser realizado
también para procesos de negocios, no solamente para sistemas de software.
Análisis
La fase de análisis abarca
las abstracciones primarias (clases y objetos) y mecanismos que están
presentes en el dominio del problema. Las clases que se modelan son
identificadas, con sus relaciones y descritas en un diagrama de clases. Las
colaboraciones entre las clases para ejecutar los casos de uso también se
consideran en esta fase a través de los modelos dinámicos en UML. Es
importante notar que sólo se consideran clases que están en el dominio del
problema (conceptos del mundo real) y todavía no se consideran clases que
definen detalles y soluciones en el sistema de software, tales como clases
para interfaces de usuario, bases de datos, comunicaciones, concurrencia,
etc.
Diseño
En la fase de diseño, el
resultado del análisis es expandido a una solución técnica. Se agregan nuevas
clases que proveen de la infraestructura técnica: interfaces de usuario,
manejo de bases de datos para almacenar objetos en una base de datos,
comunicaciones con otros sistemas, etc. Las clases de dominio del problema
del análisis son agregadas en esta fase. El diseño resulta en
especificaciones detalladas para la fase de programación.
Programación
En esta fase las clases del
diseño son convertidas a código en un lenguaje de programación orientado a
objetos. Cuando se crean los modelos de análisis y diseño en UML, lo más
aconsejable es trasladar mentalmente esos modelos a código.
Pruebas
Normalmente, un sistema es
tratado en pruebas de unidades, pruebas de integración, pruebas de sistema,
pruebas de aceptación, etc. Las pruebas de unidades se realizan a clases
individuales o a un grupo de clases y son típicamente ejecutadas por el
programador. Las pruebas de integración integran componentes y clases en
orden para verificar que se ejecutan como se especificó. Las pruebas de
sistema ven al sistema como una "caja negra" y validan que el
sistema tenga la funcionalidad final que le usuario final espera. Las pruebas
de aceptación conducidas por el cliente verifican que el sistema satisface
los requerimientos y son similares a las pruebas de sistema.
|
||||||
Realizar la base de datos con Mysql.
Como ejemplo simplemente le
adaptamos a la necesidad que se tenga:
|
||||||
create database mentor;
|
Crear la base de datos
|
|||||
use mentor;
|
Escoger la base de datos.
|
|||||
create table estudiante(
DNI_estudiante int not
null,
nombres_completos
varchar(60) not null,
telefono int not null,
correo_electronico
varchar(50) not null,
nacionalidad varchar(40)
not null,
PRIMARY KEY
(DNI_estudiante));
|
Creando la primera tabla.
|
|||||
create table curso (
Id_curso int not null,
nombre_curso varchar(40)
not null,
duracion time not null,
titulo_libro varchar(50) not null,
enlace_descarga varchar(100) not null,
PRIMARY KEY (Id_curso));
|
Creando la segunda tabla
|
|||||
create table matricula(
Cod_matricula int not null,
Id_curso int not null,
DNI_estudiante int not null,
PRIMARY KEY (Cod_matricula),
FOREIGN KEY (Id_curso) REFERENCES
curso(Id_curso),
FOREIGN KEY
(DNI_estudiante) REFERENCES estudiante(DNI_estudiante));
|
Creando la tercera tabla
|
|||||
create table aula(
Codigo int not null,
nombre varchar(30) not null,
direccion varchar (30) not null,
DNI_estudiante int not null,
DNI_administrador int not null,
FOREIGN KEY
(DNI_estudiante) REFERENCES estudiante(DNI_estudiante),
FOREIGN KEY
(DNI_administrador) REFERENCES administrador (DNI_administrador));
|
Creando la cuarta tabla
|
|||||
create table tutor (
DNI_tutor int not null,
nombres_completos varchar
(60) not null,
correo_electronico
varchar(60) not null,
direccion varchar (30) not
null,
PRIMARY KEY (DNI_tutor));
|
Creando la tabla tutor
|
|||||
create table asocia(
DNI_tutor int not null,
ID_curso int not null,
FOREIGN KEY(DNI_tutor)
REFERENCES tutor (DNI_tutor),
FOREIGN KEY(ID_curso)
REFERENCES curso(ID_curso));
|
Creando la tabla que asocia
las demás.
|
|||||
Crear un nuevo proyecto con NetsBeans. |
||||||
Creamos un nuevo proyecto:
|
||||||
Le colocamos el nombre al
proyecto:
|
||||||
Observamos las carpetas y
paquetes:
|
||||||
Nos fijamos en los
paquetes:
|
||||||
Creamos tres paquetes:
|
||||||
Creamos la clase:
|
||||||
Le colocamos el nombre a la
clase Cls_Conexion
|
||||||
Creamos las vistas
necesarias:
|
||||||
Le colocamos el nombre a la
vista:
|
||||||
Empezar a diseñar:
|
||||||
Creamos una nueva clase es
paquetes modelo:
|
||||||
Le colocamos el nombre para
la clase constructora:
|
||||||
Crear tres paquetes: modelo, vista y controlador |
||||||
Crear modelo:
|
||||||
Crear Vista
|
||||||
Crear controlador
|
||||||
Dentro del paquete Controlador Crear la clase Cls_Conexion |
||||||
package Controlador;
import java.sql.Connection;
import java.sql.DriverManager;
public class Cls_conexion {
Connection conec = null;
public Connection conexion (){
try {
Class.forName("com.mysql.jdbc.Driver");
conec=DriverManager.getConnection("jdbc:mysql://localhost/Institucion","root","root");
}
catch (Exception e) {
System.out.print(e.getMessage());
}
return conec;
}
}
|
Paquete controlador
|
|||||
Importaciones
|
||||||
Clase publica
|
||||||
Palabra reservada.
Clase conexión interna.
Abrimos el Try…Catch…
La clase Class.forName
Las conexiones a la base de
datos.
Excepción si falla.
NOTA: Ver bien las llaves
que abren y cierran.
|
||||||
Dentro del paquete modelo crear la clase Cls_clase, con sus respectivas clases constructoras, el get y el set. |
||||||
package Modelo;
public class Cls_Estudiante
{
public String Nombre; // variable Nombre
public String Apellido;
public String Direccion;
public String Telefono;
public void Cls_Estudiante(){}
public Cls_Estudiante(String Nombre,
String Apellido, String
Direccion, String Telefono)
{
this.Nombre = Nombre;
this.Apellido = Apellido;
this.Direccion = Direccion;
this.Telefono = Telefono;
}
public String getNombre() {
return Nombre;
}
public String getApellido() {
return Apellido;
}
public String getDireccion() {
return Direccion;
}
public String getTelefono() {
return Telefono;
}
public void setNombre(String Nombre) {
this.Nombre = Nombre;
}
public void setApellido(String Apellido)
{
this.Apellido = Apellido;
}
public void setDireccion(String
Direccion) {
this.Direccion = Direccion;
}
public void setTelefono(String Telefono) {
this.Telefono = Telefono;
}
}
|
Paquete modelo.
|
|||||
Clase pública
|
||||||
Variable pública 1
|
||||||
Variable pública 2
|
||||||
Variable pública 3
|
||||||
Variable pública 4
|
||||||
Poner las variables que
usted necesite.
|
||||||
Clase constructora,
posteriormente se la puede usar.
|
||||||
Clase publica constructora
con las variables públicas ya creadas.
|
||||||
Las diferentes variables
para listar los métodos get y set.
|
||||||
Método get
|
||||||
Método get
|
||||||
Método get
|
||||||
Método get
|
||||||
Método set
|
||||||
Método set
|
||||||
Método set
|
||||||
Método set
|
||||||
En el paquete Vistas crear las vistas que sean necesarias, es decir lo que va ver el cliente.
Dentro de este paquete
podemos botones y clases varias, he aquí algunos códigos.
|
||||||
Función botón nuevo:
En este botón vamos a limpiar
es igual que nuevo el código generado.
|
||||||
Btn_guardar.setText("Guardar");
txt_id.setText(null);
nombre.setText(null);
apellido.setText(null);
direccion.setText(null);
telefono.setText(null);
Btn_guardar.setEnabled(true);
Actualizar.setEnabled(false);
|
||||||
Función botón guardar: |
||||||
// TODO add your handling code here:
// BOTON DE GUARDAR
int op =
JOptionPane.showConfirmDialog(this, "Desea guardar en la base de
datos");
if(op == JOptionPane.YES_OPTION){
try {
PreparedStatement
pst=(PreparedStatement ) cn.prepareStatement("Insert into
Tb_Estudiante(Nombre, Apellido, Direccion, Telefono)values(?,?,?,?)");
pst.setString(1,
nombre.getText());
pst.setString(2,
apellido.getText());
pst.setString(3,
direccion.getText());
pst.setString(4,
telefono.getText());
pst.executeUpdate();
JOptionPane.showMessageDialog(this, "Usted ha guardado los datos");
Btn_guardar.setText("Guardado");
Actualizar.setEnabled(true);
Btn_guardar.setEnabled(false);
} catch (Exception e) {
}
}else {
JOptionPane.showMessageDialog(this,
"Usted no ha guardado los datos");
Btn_guardar.setText("Interrumpido"); // cambiar el texto del
boton
Actualizar.setEnabled(true);
}
|
||||||
Función botón eliminar: |
||||||
boolean a = true;
int fila = tabla.getSelectedRow();
String cod = "";
cod = tabla.getValueAt(fila, 0).toString();
try {
PreparedStatement pst = (PreparedStatement)
cn.prepareStatement("Delete from usuarios where id='" + cod +
"'");
pst.executeUpdate();
mostrardatos("");
} catch (Exception e) {
}
|
||||||
Función botón actualizar: |
||||||
mostrardatos("");
|
||||||
Ejemplo de hacer un registro con archivo persistente: |
||||||
package Unidad2;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import
java.nio.file.FileAlreadyExistsException;
import java.util.InputMismatchException;
import java.util.Scanner;
import javax.swing.JOptionPane;
/**
*
*
@author DAVID GONZALEZ
*/
public class Cls_Resumen {
public static void main(String[] args) {
try {
int
ox=Integer.parseInt(JOptionPane.showInputDialog("BIENVENIDOS AL SISTEMA
CCC \n Qué deseas hacer....? \n 1 registrar \n 2 Consultar \n 3 Salir"));
if (ox==1){
Cls_Resumen Cr= new
Cls_Resumen();
Cr.creararchivos();
}if (ox==2){
Cls_Resumen Cr1 = new
Cls_Resumen();
Cr1.leerdatos();
}if (ox==3){
int ax=
JOptionPane.showConfirmDialog(null, "Esta seguro de guardar los datos:
");
if(ax==JOptionPane.YES_OPTION){
System.exit(0);
}else{
// do while
}
}
// clase principal utilizar try cath
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Aquí esta un
error"+ e);
} catch(Exception ex){
JOptionPane.showMessageDialog(null,"Se genero un error"+
ex);}
}
public int cedula1;
public String strNom;
public void creararchivos() throws IOException{
// Aqui solo se utiliza el throws IOException
Cls_Resumen Cr= new Cls_Resumen();//
paara que se lea y se acumule
Cr.leerdatos();
//int cedula1=
Integer.parseInt(JOptionPane.showInputDialog("Ingrese Cedula: "));
//System.out.println("Este dato
esta regsitrado"+cedula1); // si trae los datos
File archivo= new File("resumen.odt");
PrintWriter escribir =new PrintWriter(new BufferedWriter(new
FileWriter(archivo,true)));
int ax= JOptionPane.showConfirmDialog(null, "Esta seguro
de guardar los datos: ");
if(ax==JOptionPane.YES_OPTION){
String salida= String.format("%s, %d", strNom, cedula1);
escribir.println(salida);
escribir.close();
}else{
JOptionPane.showMessageDialog(null, "No ha guardado los
datos");
}
}
public Scanner entrada;
public String Nom;
public int cedula;
public void leerdatos() throws
FileNotFoundException,InputMismatchException{
entrada=new Scanner(new File("resumen.odt"));
strNom= JOptionPane.showInputDialog("Ingrese el Nombre:
");
cedula1= Integer.parseInt(JOptionPane.showInputDialog("Ingrese
Cedula: "));
while(entrada.hasNext()){
strNom=entrada.next();
cedula=entrada.nextInt();
if(cedula1==cedula){
System.out.printf("%s %d", Nom,cedula);
JOptionPane.showMessageDialog(null, "El regsitro ya
existe");
}
System.out.printf("%s %d", Nom,cedula);
}
entrada.close();
}
public void salir() throws IOException{
}
}
|
||||||
Crear archivo persistente: |
||||||
public static void main(String [] args){
Scanner lector = new Scanner(System.in);
System.out.print("Ingrese un nombre ");
String srtNombre=lector.next();
System.out.print("Ingrese edad ");
int intEdad=lector.nextInt();
//Codigo para crear archivos
File Archivo=new File("Practica2.odt");
try {
PrintWriter escribir=new PrintWriter(new BufferedWriter(new
FileWriter(Archivo, true)));
String salida=String.format("%s %d",srtNombre,intEdad);
escribir.println(salida);
escribir.close();
} catch (Exception e) {
System.out.printf("error......"+e);
}
}
|
||||||
Función botón editar con popmenu: |
||||||
Para elegir que se va
editar:
int fila = tabla.getSelectedRow();
if (fila >= 0) {
txt_id.setText((String) tabla.getValueAt(fila, 0).toString());
txt_nombre.setText((String)
tabla.getValueAt(fila, 1).toString());
txt_apellido.setText((String) tabla.getValueAt(fila, 2).toString());
txt_cedula.setText((String) tabla.getValueAt(fila, 3).toString());
txt_sexo.setText((String) tabla.getValueAt(fila, 4).toString());
txt_edad.setText((String) tabla.getValueAt(fila, 5).toString());
txt_profesion.setText((String) tabla.getValueAt(fila, 6).toString());
txt_direccion.setText((String) tabla.getValueAt(fila, 7).toString());
txt_telefono.setText((String) tabla.getValueAt(fila, 8).toString());
comboo.setSelectedItem((String) tabla.getValueAt(fila, 9).toString());
//txt_tipo.setText((String) tabla.getValueAt(fila, 9).toString());
} else {
JOptionPane.showMessageDialog(null, "No selecciono ningun
dato");
}
|
||||||
Función botón editar: |
||||||
comboo.getSelectedItem().toString();
if (comboo.equals("activo")){
int op=JOptionPane.showConfirmDialog(null,"Desea borrar
logicamente el dato");
if (op==JOptionPane.YES_OPTION){
try {
PreparedStatement pst =
(PreparedStatement) cn.prepareStatement(""
+ "UPDATE
usuarios SET nombre='" + txt_nombre.getText() +
"',apellido='" + txt_apellido.getText() +
"',cedula='" +
txt_cedula.getText()+
"',sexo='" + txt_sexo.getText() +
"',edad='"
+ txt_edad.getText() +
"',profesion='"
+ txt_profesion.getText() +
"',direccion='" + txt_direccion.getText() +
"',telefono='" + txt_telefono.getText() +
"',tipo='" +
comboo.getSelectedItem()+
"' Where
id='" + txt_id.getText()+"'");
pst.executeUpdate();
JOptionPane.showMessageDialog(null, "Datos guardados
correctamente");
mostrardatos("");
} catch (SQLException ex) {}}}
else {
try {
PreparedStatement pst
= (PreparedStatement) cn.prepareStatement(""
+
"UPDATE usuarios SET nombre='" + txt_nombre.getText() +
"',apellido='" + txt_apellido.getText() +
"',cedula='" +
txt_cedula.getText()+
"',sexo='" + txt_sexo.getText() +
"',edad='" + txt_edad.getText() +
"',profesion='"
+ txt_profesion.getText() +
"',direccion='" + txt_direccion.getText() +
"',telefono='" + txt_telefono.getText() +
"',tipo='" +
comboo.getSelectedItem()+
"' Where
id='" + txt_id.getText()+"'");
pst.executeUpdate();
mostrardatos("");
} catch (SQLException ex)
{}}
|
||||||
Clase actualizar o mostrar datos: |
||||||
void mostrardatos(String
valor) {
DefaultTableModel modelo = new
DefaultTableModel();
modelo.addColumn("id");
modelo.addColumn("nombre");
modelo.addColumn("apellido");
modelo.addColumn("cedula");
modelo.addColumn("sexo");
modelo.addColumn("edad");
modelo.addColumn("profesion");
modelo.addColumn("direccion");
modelo.addColumn("Telefono");
modelo.addColumn("Tipo");
tabla.setModel(modelo);
String sql = "";
if (valor.equals("")) {
sql = "Select * from usuarios";
} else {
sql = "Select * from usuarios Where id = " + "'" +
valor + "'";
}
String[] datos = new String[10];
try {
Statement st = (Statement) cn.createStatement();
ResultSet rs = st.executeQuery(sql);
while (rs.next()) {
datos[0] = rs.getString(1);
datos[1] = rs.getString(2);
datos[2] = rs.getString(3);
datos[3] = rs.getString(4);
datos[4] = rs.getString(5);
datos[5] = rs.getString(6);
datos[6] = rs.getString(7);
datos[7] = rs.getString(8);
datos[8] = rs.getString(9);
datos[9] = rs.getString(10);
modelo.addRow(datos);
}
tabla.setModel(modelo);
} catch (Exception e) {
}
}
|
||||||
Leer archivo persistente: |
||||||
public Scanner entrada;
public
void leerArchivo(){
try {
entrada=new Scanner(new File("Practica2.odt"));
while(entrada.hasNext()){
String srtNombre=entrada.next();
int intEdad=entrada.nextInt();
System.out.printf("%s %d", srtNombre, intEdad);
}
entrada.close();
}
catch (Exception e) {
}
}
}
|
||||||
Enviar correo electrónico: |
||||||
1. Descargra
la librería Java.mail:
Realizar el siguiente
código en el paquete email:
package Email;
import
com.sun.xml.internal.org.jvnet.mimepull.MIMEMessage;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.swing.JOptionPane;
public class Cls_Email {
String usuarioCorreo;
String password;
String rutaArchivos;
String nombreArchivo;
String destinatario;
String asunto;
String mensaje;
public Cls_Email(String usuarioCorreo, String password, String
rutaArchivos, String nombreArchivo, String destinatario, String asunto,
String mensaje) {
this.usuarioCorreo = usuarioCorreo;
this.password = password;
this.rutaArchivos = rutaArchivos;
this.nombreArchivo = nombreArchivo;
this.destinatario = destinatario;
this.asunto = asunto;
this.mensaje = mensaje;
}
public Cls_Email(String usuarioCorreo, String password, String
destinatario, String mensaje) {
this(usuarioCorreo, password,"","",
destinatario,"", mensaje);
}
public Cls_Email(String usuarioCorreo, String password, String
destinatario, String asunto, String mensaje) {
this(usuarioCorreo, password,"","",
destinatario,asunto,mensaje);
}
public boolean sendEmail(){
try {
Properties props = new Properties();
props.put("mail.smtp.host","smtp.gmail.com");
props.setProperty("mail.smtp.starttls.enable",
"true");
props.setProperty("mail.smtp.port","587");
props.setProperty("mail.smtp.user",usuarioCorreo);
props.setProperty("mail.smtp.auch","true");
Session session= Session.getDefaultInstance(props,null);
BodyPart texto= new MimeBodyPart();
texto.setText(mensaje);
BodyPart adjunto = new MimeBodyPart();
if(!rutaArchivos.equals("")){
adjunto.setDataHandler(new
DataHandler(new FileDataSource(rutaArchivos)));
adjunto.setFileName(nombreArchivo);
}
MimeMultipart multipart = new MimeMultipart();
multipart.addBodyPart(texto);
if(!rutaArchivos.equals("")){
multipart.addBodyPart(adjunto);
}
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(usuarioCorreo));
message.addRecipient(Message.RecipientType.TO, new
InternetAddress(destinatario));
message.setSubject(asunto);
message.setContent(multipart);
Transport t= session.getTransport("smtp");
t.connect(usuarioCorreo,password);
t.sendMessage(message, message.getAllRecipients());
t.close();
return true;
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
public static void main(String[]
args){
String clave= "";// se coloca la clave qde gmail que
la descargamis de la configuracion que se hizo en gmail
Cls_Email e = new
Cls_Email("davidgabrielgonzalezgalvez@gmail.com", clave,
"luistillaguango@yahoo.com", "prueba de correo");
if(e.sendEmail()){
JOptionPane.showMessageDialog(null, "Se envio
correctamente");
}else{
JOptionPane.showMessageDialog(null, "No se nevio
correctamente");
}
}
}
|
||||||
Botón salir |
||||||
int op = JOptionPane.showConfirmDialog(this,
"Desea salir");
if(op ==
JOptionPane.YES_OPTION){
dispose();
}
}
|
||||||
Creando Reportes: |
||||||
1.
Primero damos clik en el proyecto y nos vamos en
nuevo y seleccionamos Report Wizard.
2. Luego seleccionamos el molde del reporte en este
caso un Simple Blue y damos siguiente
3. Damos clik en new luego seleccionamos Database
JDBC connection y siguiente.
4. Llenamos los datos en el nombre es opcional en
el server ponemos localhost y en database el nombre de nuestra base de datos en
este caso institución2, el usuario y la contraseña depende de cómo está
instalado su MySql en su pc.
5. Nos aparece una ventana damos clic en Desing
query luego nos aparece una ventana con las tablas de nuestra base de datos
arrastramos al espacio de la derecha y damos ok.
6. En esta ventana aparecen todos los campos de
nuestra tabla seleccionamos todos y los pasamos a la derecha usando las fechas
que se nos presentan en la mitad de nuestra ventana y damos siguiente y en los
siguientes pasos solo damos siguiente y finalizamos.
7. Una ves finalizado nos queda el reporte damos
clic en el botón Preview y nos saldrán los datos guardados en nuestra tabla de
la base de datos.
8. Ahora nos dirigimos a nuestro programa y dentro
del botón mostrara reporte agregamos el siguiente código el recuadro de celeste
nos indica que debemos poner el nombre de nuestro reporte en este caso report1.jrxml.
9. Ahora ejecutamos nuestro programa y damos clic
en el botón de reporte y nos aparece todos los datos que tenemos guardados
dentro de un reporte.
|
||||||
Verificar que no exista errores: (Recomendaciones)
-Ver si están instalados bien las librerías.
-Ver las conexiones
a base de datos estén correctas.
-Verificar la
sintaxis a cada momento.
-Realizar el
análisis, rápido para un simple prototipo.
-Realizar
correctamente cada botón.
-Programar con
tranquilidad, no apurarse.
-Verificar las
líneas de conexiones a tablas en la base de datos (Mysql).
|
||||||
BIBLIOTECA DE EJERCICIOS PARA QUE SE AYUDEN |
||||||
NOTA: Estos ejemplos son con fines educativos.
No afecta a ningún derecho de autor. Son con licencia GNU.
|
||||||
Ejemplo de un mini-sistema
|
Para matriculación y registro
|
|||||
AUTOR DEL MANUAL: David
Gabriel González Gálvez & Robert Castillo
LICENCIA:
Manual de Programación en Java is licensed under a Creative Commons Reconocimiento-NoComercial-SinObraDerivada 4.0 Internacional License.
|
Comentarios
Publicar un comentario