Herramientas Informaticas

Etiqueta: Java Página 1 de 2

Como instalar Netbeans 20 en Windows 10

Para poder codificar o correr paso a paso el nuestros proyectos hechos en PHP8.2 en nuestro caso es de nuestra preferencias usar Netbeans, para ello vamos a instalar la versión mas reciente al momento que es la 20

En la pagina oficial de apache Netbeans nos da un enlace para descargar un paquete de la comunidad en donde ya viene incluido el jdk

Así que descargamos directamente desde el siguiente enlacen https://github.com/codelerity/netbeans-installers/releases/download/v20-build1/Apache-NetBeans-20.exe

Ejecutamos el archivo y no es mas que dar click en siguiente -> siguiente

Y listo ya tenemos nuestro IDE para desarrollar cómodamente en PHP/Java entre otros lenguajes

INSTALAR JASPER REPORTS EN NETBEANS 8.2

Que tal mis amigos, en la publicación anterior vimos como instalar NetBeans 8.2, ahora veremos como instalarle el plug in de Jasper Reports “IReporst”

IReports es un diseñado de reportes que funciona en este caso dentro de NetBeans.

Para instalarlo primero tienen que descargar el plug in, desde la pagina oficial o desde desde nuestra cuenta de MediaFire

Despues de descargarlo solo lo descomprimen puede usar Winrar,WinZip 0 7zip

Una vez descompreso abren Netbeans se van al menu tools submenu herramientas

Luego se van a las pestaña Downloads y le pican al boton add plug ins y agregan los 4 archivos que descomprimimos anteriormente

Saludos y espero que les sea de utilidad

Vídeo Demostrativo

IREPORTS 5.6.0 NO INICIA, CORREGIR ERROR

Buenas noches mis amigos les dejo la solución al error del IReports cuando no deja iniciar. Les dejo los archivos necesarios

MANUAL DE USUARIO JULIO CESAR V3 WINDOWS 10

INTRODUCCIÓN

Julio César ERP Es un sistema desarrollado en JAVA y MySQL, es un sistema Cliente/Servidor el cual consiste en Inventario, Venta y Cartera, el cual le permitirá llevar un mejor control administrativo de su empresa generando información fiable y oportuna a tiempo real para que de esa manera la dirección pueda tomar la mejor decisión para llevar la empresa a la cima y más allá.

Este sistema es sin duda una herramienta que para su empresa puede ser la punta de lanza si se utiliza correctamente, tiene una instalación muy sencilla, existe mucha información y manuales en Internet sobre su uso y salen versiones nuevas regularmente con mejoras.

INSTALACIÓN Para instalar este sistema primero tienen que descargar el instalador que contiene la versión mas reciente de JAVA, Contiene la base de datos y el programa cliente, para descargar el programa solo se necesita hacer clic pesa 86 MB Aprox.

Se puede instalar de Windows 7 en adelante y es necesario ejecutar el programa como administrador..

BASE DE DATOS La base de datos esta incluida en la misma instalación, se instala de manera local, aunque se puede conectar a la base de datos de otra computadora donde se allá instalado el programa, en lugar de poner servidor LOCALHOST, van a poner el nombre de la computadora a la cual se quieran conectar o la dirección IP de la computadora.

USO Y COSTO

Pueden usar el programa hasta con 5 artículos para probar y si les gusta podrán comprar la licencia completa por un costo de $85 dólares, la compra incluye la Implementación en 3 equipos, asesorías y capacitación y de ser posible algún agregado extra(Descuentos en Agregar alguna función, Subir la lista de productos o clientes a una base de datos, migración)

PORTABILIDAD La instalación funciona bajo Windows pero si se pone en contacto con nosotros lo podremos instalar en un MAC o en cualquier Distribución GNU/Linux

APLICACIÓN

Abrir ejecutar el ejecutable de instalación setupCesarERP.exe y darle siguiente a todo sin moverse a nada
Si les llegara a salir este error solo ignoralo
Una vez instalada la aplicación se va a crear un icono en el escritorio

MANUAL DE USO

LOGUEO

Al ejecutar la aplicación la primera pantalla sera la del login, el cual nos pedirá el servidor SQL, Base de datos usuario y contraseña, tal y como se ve en la imagen, en la caja de texto servidor va la computadora en la cual se instaló la base de datos, en caso de que no se pueda loguear puede ser por que la computadora donde se instaló la base de datos tiene el firewall activado, luego va la caja de texto Base de datos que por defecto es Tienda, en la caja de texto Usuario por defecto es Supervisor y no tiene contraseña, posteriormente se pueden crear mas usuarios y cambiar la contraseña.

PANTALLA PRINCIPAL

La pantalla principal es el escritorio de la aplicación, desde aquí accederemos a todas las funciones del programa.

MENÚ CONFIGURACIÓN

En este menú existen cuatro submenús , los cuales son mas configuraciones del sistema.

SUBMENÚ CONFIGURACIÓN DATOS EMPRESA

Aquí es para meter los datos relativos a la empresa los cuales siempre saldrán en el encabezado de los reportes.

SUBMENÚ CONFIGURACIÓN GRUPOS USUARIOS

Esta ventana es para generar grupos de usuarios, modificarlos y borrarlos, los cuales cada grupo de usuario tienen cierto derechos de acceso al sistema configurables.

SUBMENÚ CONFIGURACIÓN USUARIOS

En este menú se dan de alta los usuario, se modifican y se eliminan, es aquí en donde se le asigna al usuario un grupo de usuario y también la contraseña.

MENÚ CLIENTES

Esta función es para capturar los clientes a los cuales les vamos a vender productos, a los que también vamos hacer registros en la cartera y ademas pueden funcionar como proveedores.

MENÚ PRODUCTOS

En esta forma se capturan los artículos que vamos a meter al inventario y que también le vamos a vender a los clientes.

MENÚ INVENTARIOS

En este Menú vienen 4 submenús en los cuales sirven para dar entrada o salida al inventario, es aqui donde se capturan las bodegas, tipo flujos y dar entrada y salida de inventario

MENÚ INVENTARIOS BODEGAS

Antes de poder capturar las entradas de inventario es necesario registrar una bodega en la cual vamos a meter o sacar productos.

MENÚ INVENTARIOS TIPOS FLUJO

Aparte de registrar las bodegas tenemos que registrar también el flujo de inventario en el cual se clasifica las diferentes formas en las cuales pueden salir o entrar los productos, como entrada por compra o salida por devolución.

MENÚ INVENTARIOS DAR ENTRADA O SALIDA

Es en esta forma donde se da entrada o salida al inventario, primero se capturan los datos del kardex y se guarda y después se activa la pestaña, primero se escoge si es entrada o salida, luego el almacén y el tipo de flujo, automáticamente siempre traerá el ultimo folio, en cuanto se le de enter en el folio se podrá empezar a capturar, se puede poner el numero del cliente pero si no se lo sabe puede buscarlo tecleando F3 le da buscar hace doble clic en el cliente y aparecerá en la caja de texto automáticamente..
Luego de capturar estos datos informativos capturamos los productos a los cuales se va dar entrada o salida.
Una vez registrado se puede imprimir un recibo de salida o entrada para que pueda ser firmada.
Esta vista previa se puede exportar a PDF o imprimir directamente a la impresora

MENÚ VENTAS

En este menú esta lo necesario para capturar las ventas así como el punto de venta en el cual se realizaran la venta, cada punto de venta debe de tener un almacén asignado

MENÚ INVENTARIOS REPORTES

Es aquí donde veremos la información que se ha registrado se muestra la existencia de cada producto capturado, existe 2 reportes de inventarios uno es general y otro por rango de fechas
Al dar al botón de la impresora saldrá el siguiente reporte

MENÚ VENTAS PUNTOS VENTA

En este catalogo sirve simplemente para capturar los puntos de venta que se van a usar en las ventas diarias, se le pone un nombre y se le asigna un almacén que previamente capturamos en inventarios.

MENÚ VENTAS VENTAS

Es aquí donde generamos la venta o cotización y cada vez que se realice una venta da una salida al inventario automáticamente, si es cotización la salida en el inventario no se toma en cuenta.
Al igual que el inventario la venta genera una impresión.

MENÚ VENTAS REPORTES

Al igual que al inventario aquí se imprime el total de ventas en un rango de fecha determinado.

MENÚ CARTERA

Es aquí donde tenemos lo que se le fía al cliente y lo que a pagado posteriormente en los reportes de cartera se podrá ver un estado de cuenta por cliente.

MENÚ CARTERA REPORTES

Aquí se selecciona el numero de cliente y podremos ver el estado de cuenta.

CANAL DE TELEGRAM
https://telegram.me/CesarSystems

TWITTER
https://twitter.com/JulioLeyvaR

FACEBOOK
https://www.facebook.com/rasec555

MOVIL / WHATSAPP
668862348

Software Etiquetas GHS 3.0 2020

Buenas tardes estimado lector como bien saben o están a punto de saber el criterio GHS Global Harmonized System esta apunto de ser obligatorio en los próximos meses, probablemente en octubre. Por eso les dejare un software el cual les permitirá capturar los productos poniéndole la leyendas necesarias así como los pictogramas para que puedan imprimir la etiqueta. Les dejo unos ScreenShots

Catalogo
Pictogramas
Impresión
Datos de la Empresa

En caso de querer la versión completa, tienen que enviarme los datos del campo cadena para generarles una clave de la licencia una vez realizado el pago de 50 dolares americanos por Paypal. o en su caso $750 pesos mexicanos, una vez que se realice el pago se le enviá la clave de la licencia la cual pondrá en el campo de texto llamado licencia que se puede observar arriba y luego le da guardar Ahora les dejo en enlace de descarga

Video demostrativo

TWITTER
https://twitter.com/Cesar101290

CANAL DE TELEGRAM
https://telegram.me/CesarSystems

FACEBOOK
https://www.facebook.com/rasec555

CORREO ELECTRONICO
JULIOCESARLEYVARODRIGUEZ@HOTMAIL.COM

MOVIL / WHATSAPP
6688612348

Software Etiquetas GHS 2.0 2018

Buenas tardes estimado lector como bien saben o están a punto de saber el criterio GHS Global Harmonized System esta apunto de ser obligatorio en los próximos meses, probablemente en octubre.
Por eso les dejare un software el cual les permitirá capturar los productos poniéndole la leyendas necesarias así como los pictogramas para que puedan imprimir la etiqueta.
Les dejo unos ScreenShots
Catalogo
Pictogramas
Impresion
Datos de la empresa
En caso de querer la versión completa, tienen que enviarme los datos del campo cadena para generarles una clave de la licencia una vez realizado el pago de 25 dolares americanos por Paypal. o en su caso $500 pesos mexicanos
Ahora les dejo en enlace de descarga
[youtube https://www.youtube.com/watch?v=xWy1sSXkgNw]
VIDEO DEMOSTRATIVO
CANAL DE TELEGRAM
https://telegram.me/CesarSystems
TWITTER
https://twitter.com/Cesar101290
FACEBOOK
https://www.facebook.com/rasec555
Saludos y espero que les sirva

ASIGNARLE AL EJECUTABLE QUE REQUIERE PERMISOS DE ADMINISTRADOR DESDE INNO SETUP

Buenas tardes mis amigos, los programadores como bien saben a veces hacen aplicaciones que por algunas razones no funcionan si no se ejecutan con los privilegios de administrador.

En esta publicación les mostrare el código del instalador echo en InnoSetup que hará que nuestro ejecutable principal solicite permisos de administrador para que el usuario no se los tenga que agregar manualmente.

Primer en las variables de Setup le indicamos que el instalador va a requerir privilegios de administrador

image

Y en el apartado [Registry] le agregamos el código en el registro de Windows que le asignara al programa instalado que se ejecute como administrador

image

Y se supone que con eso debe de funcionar correctamente, al menos con eso funciono para mi

Saludos y espero que les sriva

Les dejo el enlace de descarga de ejemplo

DESCARGAR

CANAL DE TELEGRAM
https://telegram.me/CesarSystems

TWITTER
https://twitter.com/Cesar101290

FACEBOOK
https://www.facebook.com/rasec555

COMO LEER UNA TABLA Y PONER LOS DATOS EN UN JTABLE EN JAVA

Que tal camaradas en este post les dejare un ejemplo de como leer una tabla en MySQL a travez de un procedimiento almacenado y poner los datos en un JTable que es el equivalente al grid en las IDE de Microsoft o las mas parecida que encontre.

En primera necesitaremos del procedimiento almacenado el cual les dejo aquí mismo

[code language=”SQL”]

DROP PROCEDURE IF EXISTS `PA_LeeClientes`$$
CREATE PROCEDURE `PA_LeeClientes`(IN `desde` BIGINT, IN `cuantos` BIGINT, IN `Busqueda` VARCHAR(200))
BEGIN

SELECT right(`Clientes`.`idCliente`,5) as idCliente,
`Clientes`.`Nombres`,
`Clientes`.`Apellidos`,
`Clientes`.`Direccion`,
`Clientes`.`Ciudad`,
`Clientes`.`Telefono`,
`Clientes`.`RFC`,
`Clientes`.`FechaNacimiento`,
`Clientes`.`Estado`,
`Clientes`.`Municipio`,
`Clientes`.`CodigoPostal`
FROM `Clientes`
where Nombres LIKE CONCAT(‘%’,Busqueda,’%’)
or Nombres LIKE CONCAT(‘%’,Busqueda,’%’)
or Apellidos LIKE CONCAT(‘%’,Busqueda,’%’)
or Direccion LIKE CONCAT(‘%’,Busqueda,’%’)
or Ciudad LIKE CONCAT(‘%’,Busqueda,’%’)
or Telefono LIKE CONCAT(‘%’,Busqueda,’%’)
or RFC LIKE CONCAT(‘%’,Busqueda,’%’)
or Estado LIKE CONCAT(‘%’,Busqueda,’%’)
limit desde,cuantos;
[/code]

Ahora un método que necesitaremos es la que esta el la clase “Clientes”
[code language=”Java”]
public void leerClientes(long intDesde ,long intCuantos,DefaultTableModel tablaClientes,String strBusqueda ){
String strConsulta;
String datos[]=new String [4];

strConsulta="call PA_LeeClientes("+intDesde+","+intCuantos+",’"+strBusqueda+"’);";

try{

ps= con.conectado().prepareStatement(strConsulta);
res = ps.executeQuery();

while(res.next()){
//System.out.println(res.getString("Nombres"));
datos[0]=res.getString("IdCliente");
datos[1]=res.getString("Nombres");
datos[2]=res.getString("Apellidos");
datos[3]=res.getString("RFC");

tablaClientes.addRow(datos);
}
res.close();
}catch(SQLException e){
System.out.println(e);

}

}
[/code]

Y por si hiciera falta la clase de conexión a la base de datos MySQL
[code language=”Java”]

Ahora vemos el método que forma el JTable y le asigna los datos
[code language="Java"]
public void defineTablaClientes(String strBusqueda,long DesdeHoja){

long lngRegistros=1;
long lngDesdeRegistro;

//DEFINIMOS LA TABLA MODELO
DefaultTableModel tablaClientes = new DefaultTableModel();

//LE AGREGAMOS EL TITULO DE LAS COLUMNAS DE LA TABLA EN UN ARREGLO
String strTitulos[]={"ID CLIENTE","NOMBRE","APELLIDO","RFC"};

//LE ASIGNAMOS LAS COLUMNAS AL MODELO CON LA CADENA DE ARRIBA
tablaClientes.setColumnIdentifiers(strTitulos);

//LE ASIGNAMOS EL MODELO DE ARRIBA AL JTABLE
this.JTabClientes.setModel(tablaClientes);

//AHORA A LEER LOS DATOS

//ASIGNAMOS CUANTOS REGISTROS POR HOJA TRAEREMOS
lngRegistros=(Long.valueOf(this.txtNumReg.getText()));

//ASIGNAMOS DESDE QUE REGISTRO TRAERA LA CONSULTA SQL
lngDesdeRegistro=(DesdeHoja*lngRegistros)-lngRegistros;

//INSTANCEAMOS LA CLASE CLIENTE
control_cliente classCliente= new control_cliente();

//LEEMOS LA CLASE CLIENTE MANDANDOLE LOS PARAMETROS
classCliente.leerClientes(lngDesdeRegistro, (Long.valueOf(this.txtNumReg.getText())),tablaClientes,strBusqueda);

//LE PONEMOS EL RESULTADO DE LA CONSULA AL JTABLE
this.JTabClientes.setModel(tablaClientes);

//ASIGNAMOS LOS VALORES A LA PAGINACION
lngRegistros = classCliente.leerCuantos("");
lngNumPaginas= (lngRegistros/ (Long.valueOf( this.txtNumReg.getText())))+1;
this.jlblTotalPaginas.setText(" De " + ( lngNumPaginas));

}
[/code]

Y de esta manera sencilla se agregan los valores a la celda, es muy fácil verdad.

Bien camaradas espero que les sirva y saludos

COMO CONECTAR JAVA CON MYSQL NETBEANS EJEMPLO #4

Bienvenidos sean otra vez a este post, lo que hoy se vendrá a explicar sera la manera de como conectar, enlazar, ligar un programa escrito en Java, lógicamente desde el código fuente, a una base de datos MySQL 5.6.X

La versión del MySQL es la versión que viene en la instalación de XAMPP 5.6.11.

Primeramente tendrán que instalar el MySQL, cualquiera de estos videomanuales te pueden servir, uno es para Linux Mint 17.2 Rafaela y otro es para la versión de Windows 10.

Instalación Windows 10

[youtube https://www.youtube.com/watch?v=7oFXfcPP9CE]

Instalación Linux Mint 17.2
[youtube https://www.youtube.com/watch?v=8yuUw0V7jz0]

Una vez instalado el servidor SQL procederemos a levantar la base de datos

[code languaje=”sql”]
— phpMyAdmin SQL Dump
— version 4.4.12
— http://www.phpmyadmin.net

— Servidor: localhost
— Tiempo de generación: 12-10-2015 a las 05:06:49
— Versión del servidor: 5.6.25
— Versión de PHP: 5.6.11

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;


— Base de datos: `INVEN`

CREATE DATABASE IF NOT EXISTS `INVEN` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `INVEN`;

DELIMITER $$

— Procedimientos

DROP PROCEDURE IF EXISTS `sp_InsertaCliente`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_InsertaCliente`(in Nombres VARCHAR(200)
, Apellidos VARCHAR(200),Direccion varchar(200),Ciudad varchar(200)
,Telefono varchar(200),RFC VARCHAR(10),FechaNacimiento VARCHAR(200),Estado VARCHAR(200)
,Municipio varchar(200),CodigoPostal VARCHAR(200))
BEGIN

INSERT INTO `Clientes`
(
`Nombres`,
`Apellidos`,
`Direccion`,
`Ciudad`,
`Telefono`,
`RFC`,
`FechaNacimiento`,
`Estado`,
`Municipio`,
`CodigoPostal`
)
VALUES
(
Nombres,
Apellidos,
Direccion,
ciudad,
Telefono,
RFC,
FechaNacimiento,
Estado,
Municipio,
CodigoPostal
);

END$$

DELIMITER ;

— ——————————————————–


— Estructura de tabla para la tabla `Clientes`

DROP TABLE IF EXISTS `Clientes`;
CREATE TABLE IF NOT EXISTS `Clientes` (
`idCliente` bigint(20) NOT NULL,
`Nombres` varchar(100) DEFAULT NULL,
`Apellidos` varchar(45) DEFAULT NULL,
`Direccion` varchar(45) DEFAULT NULL,
`Ciudad` varchar(45) DEFAULT NULL,
`Telefono` varchar(45) DEFAULT NULL,
`RFC` varchar(45) DEFAULT NULL,
`FechaNacimiento` datetime(6) DEFAULT NULL,
`Estado` varchar(45) DEFAULT NULL,
`Municipio` varchar(45) DEFAULT NULL,
`CodigoPostal` varchar(45) DEFAULT NULL
) ENGINE=InnoDB AUTO_INCREMENT=41 DEFAULT CHARSET=latin1;


— Volcado de datos para la tabla `Clientes`

[/code]

Ya levantada la base de datos tendremos que agregar la siguiente librería para conectar MySQL mysql-connector-java-5.1.6-bin.jar, la agregamos de igual modo que hemos estado agregando librerías en los post anteriores.

Bien ya agregada la librería creamos la siguiente clase

[code languaje=”Java”]
/*
Clase conexión, recibe la información de la conexión y se conecta
*/
package herramientas;
import java.sql.*;
import javax.swing.JOptionPane;

public class conexion {

public static String strServidor= new String();
public static String strBaseDeDatos=new String();
public static String strUsuarioSQL=new String();
public static String strPSWSQL=new String();
Connection conexion= null;

public Connection conectado(){
try{

Class.forName("com.mysql.jdbc.Driver");

conexion = DriverManager.getConnection("jdbc:mysql://"+ this.strServidor +"/" +this.strBaseDeDatos + "?user="+this.strUsuarioSQL + "&password="+ this.strPSWSQL);
Statement stm = conexion.createStatement();
}
catch(SQLException e)
{

JOptionPane.showMessageDialog(null, "ERROR DE CONEXIÓN"+e);

}
catch(ClassNotFoundException e)
{
JOptionPane.showMessageDialog(null, e);
}
return conexion;
}

public void desconectar(){
conexion = null;
System.out.println("conexion terminada");

}

}

[/code]

Luego al usar la clase conexión, lo haríamos de la siguiente forma

[code languaje=”Java”]
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package interfaces;

import clases.classUsuarios;

//AQUI ES DONDE TENEMOS LA CLASE CONEXION
import herramientas.conexion;

import java.awt.List;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URLDecoder;
import java.util.jar.Attributes;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
import org.w3c.dom.*;
import javax.xml.parsers.*;
import javax.xml.transform.*;
import javax.xml.transform.dom.*;
import javax.xml.transform.stream.*;

import javax.xml.*;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

/**
*
* @author julio
*/
public class frmLogueo extends javax.swing.JFrame {

/**
* Creates new form frmLogueo
*/
public frmLogueo() {
initComponents();
leerConfiguracion();
}

/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

jLabel2 = new javax.swing.JLabel();
lblServidor = new javax.swing.JLabel();
txtServer = new javax.swing.JTextField();
lblUsuario = new javax.swing.JLabel();
txtUsuario = new javax.swing.JTextField();
lblContraseña = new javax.swing.JLabel();
cmdAccesar = new javax.swing.JButton();
pswContraseña = new javax.swing.JPasswordField();
lblBase = new javax.swing.JLabel();
txtBase = new javax.swing.JTextField();

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setAlwaysOnTop(true);
setLocationByPlatform(true);
setResizable(false);

jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagenes/padlock.jpg"))); // NOI18N

lblServidor.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblServidor.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblServidor.setText("SERVIDOR");
lblServidor.setToolTipText("");

lblUsuario.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblUsuario.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblUsuario.setText("USUARIO");

lblContraseña.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblContraseña.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblContraseña.setText("CONTRASEÑA");

cmdAccesar.setText("ACCESO");
cmdAccesar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
cmdAccesarActionPerformed(evt);
}
});

lblBase.setFont(new java.awt.Font("Arial", 1, 14)); // NOI18N
lblBase.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
lblBase.setText("BASE DE DATOS");
lblBase.setToolTipText("");

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(129, 129, 129)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(lblServidor, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(txtUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(lblUsuario, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(pswContraseña)
.addComponent(txtServer, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(lblContraseña, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(lblBase, javax.swing.GroupLayout.DEFAULT_SIZE, 138, Short.MAX_VALUE)
.addComponent(txtBase)))
.addGroup(layout.createSequentialGroup()
.addGap(114, 114, 114)
.addComponent(jLabel2, javax.swing.GroupLayout.PREFERRED_SIZE, 170, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addContainerGap(123, Short.MAX_VALUE))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(140, 140, 140)
.addComponent(cmdAccesar, javax.swing.GroupLayout.PREFERRED_SIZE, 111, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(156, Short.MAX_VALUE)))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap()
.addComponent(jLabel2)
.addGap(30, 30, 30)
.addComponent(lblServidor)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtServer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblBase)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtBase, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
.addComponent(lblUsuario)
.addGap(12, 12, 12)
.addComponent(txtUsuario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(lblContraseña)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(pswContraseña, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(93, 93, 93))
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap(459, Short.MAX_VALUE)
.addComponent(cmdAccesar, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap()))
);

pack();
setLocationRelativeTo(null);
}// </editor-fold>

private void cmdAccesarActionPerformed(java.awt.event.ActionEvent evt) {
try {
// TODO add your handling code here:

// File archivoConexion = new File("Conexion.xml");
//
// if (archivoConexion.exists())
// System.out.println("El fichero");
// else
crearXML2();

//AQUI CREAMOS LA INSTANCIA A LA CLASE
conexion con = new conexion();

//AQUI LLENAMOS CON LOS DATOS NECESARIOS DE CONEXIÓN
con.strServidor=this.txtServer.getText();
con.strPSWSQL="";
con.strUsuarioSQL="root";
con.strBaseDeDatos=this.txtBase.getText();

//AQUI REALIZAMOS LA CONEXIÓN
con.conectado();

leerConfiguracion();
frmPrincipal principal= new frmPrincipal();
classUsuarios usuarios = new classUsuarios();

//ESTO YA ES OTRA HISTORIA, AQUI VERIFICA SI EL USUARIO Y CONTRASEÑA COINCIDEN
if (usuarios.blnChecaUsuarioContra("SELECT * FROM Usuarios where Usuario=’"+this.txtUsuario.getText() +"’ and Contra=’"+this.pswContraseña.getText()+"’")==true){
this.setVisible(false);
principal.setVisible(true);
}
else
JOptionPane.showMessageDialog(null, "USUARIO O CONTRASEÑA INCORRECTO"+this.pswContraseña.getText());
System.out.println("SELECT * FROM Usuarios where Usuario=’"+this.txtUsuario.getText() +"’ and Contra=’"+this.pswContraseña.getText()+"’");
} catch (ParserConfigurationException ex) {
Logger.getLogger(frmLogueo.class.getName()).log(Level.SEVERE, null, ex);
} catch (TransformerException ex) {
Logger.getLogger(frmLogueo.class.getName()).log(Level.SEVERE, null, ex);
}

}

/**
* @param args the command line arguments
*/
// public static void main(String args[]) {
// /* Set the Nimbus look and feel */
// //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
// /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
// * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
// */
// try {
// for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
// if ("Nimbus".equals(info.getName())) {
// javax.swing.UIManager.setLookAndFeel(info.getClassName());
// break;
// }
// }
// } catch (ClassNotFoundException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (InstantiationException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (IllegalAccessException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// } catch (javax.swing.UnsupportedLookAndFeelException ex) {
// java.util.logging.Logger.getLogger(frmLogueo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
// }
// //</editor-fold>
//
// /* Create and display the form */
// java.awt.EventQueue.invokeLater(new Runnable() {
// public void run() {
// new frmLogueo().setVisible(true);
// }
// });
// }

// Variables declaration – do not modify
private javax.swing.JButton cmdAccesar;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel lblBase;
private javax.swing.JLabel lblContraseña;
private javax.swing.JLabel lblServidor;
private javax.swing.JLabel lblUsuario;
private javax.swing.JPasswordField pswContraseña;
private javax.swing.JTextField txtBase;
private javax.swing.JTextField txtServer;
private javax.swing.JTextField txtUsuario;
// End of variables declaration

public void crearXML2() throws ParserConfigurationException, TransformerConfigurationException, TransformerException{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
DOMImplementation implementation = builder.getDOMImplementation();

Document document = implementation.createDocument(null, "Configuracion", null);
document.setXmlVersion("1.0");

Element raiz = document.getDocumentElement();

Element nodoServidor = document.createElement("Servidor"); //creamos un nuevo elemento
Text nodoValorServidor = document.createTextNode(this.txtServer.getText()); //Ingresamos la info
nodoServidor.appendChild(nodoValorServidor);
raiz.appendChild(nodoServidor); //pegamos el elemento a la raiz "Documento"

Element nododb = document.createElement("DB"); //creamos un nuevo elemento
Text nodoValorDB = document.createTextNode(this.txtBase.getText()); //Ingresamos la info
nododb.appendChild(nodoValorDB);
raiz.appendChild(nododb); //pegamos el elemento a la raiz "Documento"

Element nodoUsuario = document.createElement("Usuario"); //creamos un nuevo elemento
Text nodoValorUsuario = document.createTextNode(this.txtUsuario.getText()); //Ingresamos la info
nodoUsuario.appendChild(nodoValorUsuario);
raiz.appendChild(nodoUsuario); //pegamos el elemento a la raiz "Documento"

Source source = new DOMSource(document);
StreamResult result = new StreamResult(new java.io.File("Conexion.xml"));//nombre del archivo
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.transform(source, result);
}

public void leerConfiguracion(){
try{
File fXmlFile = new File("Conexion.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);

//optional, but recommended
//read this – http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();

System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

NodeList nList = doc.getElementsByTagName("Configuracion");

System.out.println("—————————-");

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);

System.out.println("nCurrent Element :" + nNode.getNodeName());

if (nNode.getNodeType() == Node.ELEMENT_NODE) {

Element eElement = (Element) nNode;

this.txtServer.setText( eElement.getElementsByTagName("Servidor").item(0).getTextContent());
this.txtBase.setText(eElement.getElementsByTagName("DB").item(0).getTextContent());
this.txtUsuario.setText(eElement.getElementsByTagName("Usuario").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}

}

[/code]

Por si llegaran a necesitar la clase usuarios
[code languaje=”Java”]
/*
CREADO POR JULIO
*/
package clases;

import java.sql.SQLException;
import herramientas.conexion.*;
import com.sun.crypto.provider.RSACipher;
import herramientas.conexion;
import java.awt.List;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
*
* @author julio
*/
public class classUsuarios {

private conexion con;
PreparedStatement ps;
ResultSet res;

public classUsuarios() {
con = new conexion();
}

public boolean blnChecaUsuarioContra( String sql){
boolean data =false;
String idUsuarios="IdUsuarios";

try{

ps= con.conectado().prepareStatement(sql);
res = ps.executeQuery();

while(res.next()){
//System.out.println(res.getNString(idUsuarios));
data=true;
System.out.println(res.getWarnings());
}
res.close();
}catch(SQLException e){
System.out.println(e);

}
return data;
}

}

[/code]

COMO LEER UN XML USANDO JAVA Y NETBEANS #3

Que tal camaradas, continuando con el post anterior en el cual se mostró como escribir o generar un XML usando Java con la IDE NetBeans, en esta ocasión se mostrara como el programa leerá internamente dicho XML.

[code languaje=”XML”]
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<Configuracion>
<Servidor>localhost</Servidor>
<DB>comercial</DB>
<Usuario>Julio8</Usuario>
</Configuracion>
[/code]

Para ello igual tenemos que importar las librerías que importamos en la publicación anterior y llamarlas en el encabezado.

Bien desde de ello creamos la función que lee el archivo

[code languaje=”Java”]
public void leerConfiguracion(){
try{
File fXmlFile = new File("Conexion.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);

//optional, but recommended
//read this – http://stackoverflow.com/questions/13786607/normalization-in-dom-parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();

System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

NodeList nList = doc.getElementsByTagName("Configuracion");

System.out.println("—————————-");

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);

System.out.println("nCurrent Element :" + nNode.getNodeName());

if (nNode.getNodeType() == Node.ELEMENT_NODE) {

Element eElement = (Element) nNode;

this.txtServer.setText( eElement.getElementsByTagName("Servidor").item(0).getTextContent());
this.txtBase.setText(eElement.getElementsByTagName("DB").item(0).getTextContent());
this.txtUsuario.setText(eElement.getElementsByTagName("Usuario").item(0).getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
[/code]

En el código  que se muestra arriba podrán ver que la información leída sera puesta en los campos de textos correspondientes, pero ustedes pueden hacer lo que sea con ello, mostrarlos en pantalla o guardarlos en base de datos, ya depende de sus necesidades.

Y luego invocan la función en donde la quieran usar

[code languaje=”Java”]

leerConfiguracion();

[/code]

Vídeo demostrativo
[youtube https://www.youtube.com/watch?v=XkKrQ2bMNtc&w=560&h=315]

No se olviden de dejar su comentario

Saludos Espero que les sirva

Suerte

Página 1 de 2

Creado con WordPress & Tema de Anders Norén