Cesar Systems

Herramientas Informaticas

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

PROGRAMA EQUIVALENTE DE RECORTES DE WINDOWS EN LINUX MINT 17.2

163473830_38c8ee91d8Que tal camaradas sean bienvenidos de nuevo, quien alguna vez no ha usado la herramienta llamada “Recortes” en Windows en ingles es bien conocida como snipping tool, una herramienta que nos permite capturar una parte o todo el escritorio en una imagen, esta aplicación es muy útil para las personas que hacemos manuales y escribimos blogs, nunca puede faltar.

El detalle esta cuando te mudas a Linux, sobre todo Linux Mint, de buenas a primeras el sistema operativo tiene cargado nativa-mente una aplicación que te captura la pantalla cuando presionamos la tecla print scr pero solo eso hace, si queremos solo una ventana tendremos que usar Gimp “Alternativa a Photo Shop”, para cortar esa porción del escritorio que necesitamos.

descarga (2)Entonces para Linux, “Linux Mint 17.2 en mi caso” tenemos una herramienta similar llamada Shutter, Es una herramienta muy pero muy igual al snniping tool de Windows, cuando le damos la opción de seleccionar la parte del escritorio se oculta la aplicación automáticamente.

Les dejo la imagen de la aplicación que la pueden descargar del gestor de software fácilmente.

Demostración en vídeo
[youtube https://www.youtube.com/watch?v=ZloSOl2k4fs&w=560&h=315]

Saludos y espero que les sirva la información.

COMO GENERAR XML EN EL LENGUAJE JAVA Y IDE NETBEANS #2

Estimados lectores buen día, gracias por pasarse por aquí, este es su espacio y siempre serán bienvenidos, recuerden que pueden dejar su opinión en cada publicación, también se avisa que toda información publicada aquí es de libre distribución.

En la entrada anterior en lo referente a Java, vimos como instalar la IDE NetBeans mostrando a cada detalle cada paso, continuando en ello en esta ocasión mostraremos como generar un “XML” escribiendo código Java desde la IDE que hemos instalado.

Para ello se ha diseñado y programado una forma la que simula ser un Login para dar acceso a usuarios en la cual pedirá el servidor, base de datos, usuario y contraseña tal como se ve en la imagen.

Selección_001

La información que va a almacenar el XML serán los datos de conexión, por ejemplo tomando en cuenta la imagen de arriba seria, localhost, comercial y julio.

El contenido del archivo XML final sera el siguiente:

[code language=”xml”]

localhost
comercial
Julio

[/code]

Bien para ello tenemos que agregar al proyecto las librerias JDOM 2.0.6 el cual podrás descargar de la pagina oficial http://www.jdom.org/ o también del enlace de nuestra cuenta de Mediafire haciendo click aquí.

El próximo paso sera descomprimir y agregar todas las librerías de este paquete que son 5 archivos *.*jar al proyecto, para ello nos vamos al árbol del proyecto, damos click derecho en donde dice libraries y damos clic en add JAR/folder, tal como se muestra en la imagen, al principio batalle para posicionarme en la carpeta donde están las librerías por que hacia doble click en una carpeta y se agregaba toda la carpeta, después se soluciono.

Consejo emergente_002

Luego nos saldrá una ventana en la cual tendremos que buscar las librerías de Jdom que descargamos, una vez descargada podremos ver las librerías agregadas al proyecto así como se ven en la imagen de arriba.

Selección_003

Ya con esto podemos agregar los encabezados en la clase en donde se van a usar las librerías, aunque, no es muy necesario ya que al poner el código el mismo IDE nos marcara de que sera necesario importar las librerías en la clase, de una u otra forma les dejare el código por si desean copiar y pegar para ahorrarse tiempo.

[code language=”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;
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;
[/code]

El siguiente paso sera crear la función que genere nuestro preciado y hermoso XML y usarlo en el transcurso del programa como acceso de configuraciones locales por equipo, entonces les dejo el código para que lo puedan adaptar a sus necesidades

[code language=”Java”]
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);
}
[/code]

Y listo, esta función la podrás ejecutar en cualquier parte de la clase en donde este declarada, yo la use al momento de darle click en accesar

[code language=”Java”]
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();

conexion con = new conexion();
con.strServidor=this.txtServer.getText();
con.strPSWSQL=””;
con.strUsuarioSQL=”root”;
con.strBaseDeDatos=this.txtBase.getText();

con.conectado();
leerConfiguracion();
frmPrincipal principal= new frmPrincipal();
classUsuarios usuarios = new classUsuarios();
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);
}

}
[/code]

Y eso seria así de fácil sin complicarse mucho.

Bien espero que les sea de utilidad, yo busque por muchos blogs y algunos de ellos me ayudaron y después se adapto el código para que funcionara de acuerdo a nuestras necesidades.

Saludos no olviden dejar su huella en la caja de comentarios y puntuar la publicación.

COMO DESCARGAR VIDEOS DEL YOUTUBE DESDE LINUX MINT 17.2

Algunas veces necesitamos descargar vídeos del Youtube para verlos después en un lugar donde no tengamos Internet, como fue en mi caso que necesitaba unos manuales, tutoriales y tenia limitada la red.

Es por eso que a veces se necesita descargar el contenido para ser visualizado fuera de linea, es decir, sin necesidad de tener Internet.

Existen muchas herramientas, mucho software para descargar los vídeos del Youtube, pero hasta ahora solo conocía software para el sistema operativo de Windows, por ejemplo, AtuberCatcher, SongR, entre otros.

Para el sistema operativo Linux Mint 17.2 existe una aplicación muy buena la cual a mi me ha dejado satisfecho, la herramienta se llama 4k Video Downloader, el cual pueden descargar de la pagina oficial https://www.4kdownload.com/es/products/product-videodownloader  o bien pueden descargarlo desde nuestra cuenta de Mediafire haciendo click aquí, esta es para la versión de 64 de Linux Mint 17.2

Selección_002

Es muy fácil de usar solo hay que copiar la URL y darle click al botón pegar y el vídeo comenzara a descargarse y a convertirse a un formato estándar para poder visualizarlo.

Y así de fácil es descargar vídeos en Linux, la otra alternativa seria bajar los vídeos utilizando paginas web como por ejemplo http://www.bajaryoutube.com/  , aunque la verdad aun no lo he probado de esa forma.

Bien espero que les sirva, no se olviden de comentar y puntuar la publicación.

INSTALAR NETBEANS EN WINDOWS 10 PARA EMPEZAR A PROGRAMAR EN JAVA #1

Camaradas bienvenidos a mi blog, cada vez me esta gustando wordpress, aunque aun no termino de dejar blogger, luego veremos los pros y contras de cada servicio de blogueo.

Este post será el primero de una serie de publicaciones en los cuales se hablara de programación en JAVA, en esta serie de entradas se describira de manera detallada desde como instalar la IDE para programar, hasta de como realizar programas que ayuden a las personas a realizar sus labores cotidianas, tal vez para los usuarios avanzados de programación en JAVA sea algo aburrido explicar todo a detalle, es cierto, puede ser así por que las entradas estan dirigidas a todo tipo de publico sea programador con experiencia o no lo sea.

Bien lo primero que tenemos que hacer es descargar el NetBeans, la versión que se estará utilizando será la 8.0.2, lo podemos descargar de la pagina oficial https://netbeans.org/ o bien descargarlo desde este enlace de nuestra cuenta de mediafire, es un ejecutable que pesa alrededor de 200Mb

Como podran ver en la imagen, esta instalacion es el que tiene todas las caracteristicas, de esta forma no nos faltara nada, como somos principiantes vale mas que sobre a que falte.

Captura

Una vez que que concluya la descarga comenzaremos a instalar, para ello abriremos el ejecutable y nos saldra la primera pantalla en la cual nos dice el contenido de la instalación, tal como se ve en la imagen.

2

Despues de dar click  al boton Next nos aparecera una ventana en la cual nos preguntara si estamos de acuerdo con la licencia del producto, asi que la leemos y si estamos de acuerdo seleccionamos el check con una palomita “I Accept the terms….” para despues dar click en Next.

3

En la siguiente ventana aparecera los terminos de licencia de JUnit los cuales tambien tenemos que leer, se que si van a leer, si estamos de acuerdo con la licencia aceptamos los terminos pero si por alguna razón religiosa, politica etc no estan de acuerdo con los terminos de la licencia pues eligen No instalar JUnit y le dan siguiente, tal como se observa en la siguiente pagina.

4

Prosiguiendo, nos pedira la ruta de la instalación de NetBeans y tambien nos pedira la ruta de JDK, si no tenemos instalado el JDK nos pondra ese campo de texto en blanco y si el campo de texto esta en blanco la instalacion dejara de avanzar de manera que no se realizara.

En caso de eso tienes que descargar el JDK de JAVA, que lo puedes descargar de la siguiente pagina http://www.oracle.com/technetwork/es/java/javase/downloads/index.html

Debe de aparecer tal y como se ve en la imagen siguiente:

5

Si todo ha salido bien hasta aqui y damos Click en Next entonces la pantalla siguiente saldra la instalación en curso, va a tardar unos minutos, así que sean pacientes.

6

Al final de la instalación les saldra una ultima ventana en donde se le pedira apoyo para enviar datos de forma anonima para mejorar este producto, yo en lo particular le puse que no, pero igual si ustedes desean ayudar les recomiendo que investiguen mas a fondo la manera de recolección y tratado de tales datos, yo en mi caso como ignoro la manera en la cual se usaran y recolectaran tales datos preferi darle que no.

Aun asi camaradas no olviden apoyar al software libre distribuyendo o donando, recuerden siempre que el software libre es patrimonio de la humanidad, y mucha gente de manera desinterezada trabaja en ello y libera su trabajo no quedandoselo para si mismo.

Bien una vez instalado ya tendremos la IDE tal y como se muestra en la imagen.

7

Y ya esta hecho el primera paso para empezar lo que podria ser un gran proyecto, de aqui en adelante lo unico que te limita es tu imaginación, y tambien en donde todos vean problemas tu encuentrales solución, los problemas de otros pueden ser tu mina de oro tu alimento tu pan de cada dia, muchos buscan soluciones y tu las puedes dar generando aplicaciones.

Muchas gracias camaradas por llegar a leer hasta el final, si te ha servido este blog favor de comentar y puntuar sea negativo y positivo, los comentarios para mejorar bien fundamentados y no anonimos seran bien recibidos, no olviden tambien compartir si la información les es de utilidad, saludos y hasta la proxima

Drivers GATEWAY ZX450 ALL IN ONE LINK

downloadHi boys, Welcome to my blog, in this post will see how download and install the drivers of the computer GATEWAY ZX850 version in spanish.

The pack “An Executable 80 MB” is available in 1 link.

In this pack is autoinstaller, the drivers are installed in automatic, the meanly content of the pack is the drivers of the sound, wireless, Webcam and the screen.

Captura

For download the pack of the drivers click HERE

Good luck friends

DRIVERS AUTOINSTALABLES GATEWAY ZX4850 PARA WINDOWS 7

downloadQue tal camaradas, bienvenidos sean a su blog, en esta entrada les voy dejar los controladores autointalables de la computadora GATEWAY ZX4850 , es un paquete de 86 MB que podran descargar en un solo enlace de Mediafire.

Al momento de descargar posiblemente si tienen antivirus les puede decir que tiene virus, a mi el avira me lo detecto, pero lo mas posible es que sea un falso positivo, ya que este paquete se hizo con el programa de driver genius 2014 programa que pueden descarga de la siguiente pagina Web http://drivergenius.es/

Al ejecutar el programa les va a salir una pantalla como se muestra en la siguiente imagen

Captura

En esta pantalla es en donde deberan que controladores desean instalar, lo que mas se recomienda es que instalen los controlares que conoscan, aunque en esta ocación solo puse los controladores que mas probablemente no se instalan con la instalacion de Windows.

Una vez que esten seguros de que controladores van a instalar y esten seleccionados entonces el siguiente paso sera darle click al boton Iniciar Restauración y empezaran a instalarse automaticamente los controladores.

Les dejo el enlace de la descarga

DESCARGAR

Saludos y espero que les sirva, cualquier comentario sera bien recibido.

LINUX MINT 17.2 PREVIEW

Después de probar el sistema operativo Chakra Linux, un sistema muy bueno, seguro y potente, decidí instalar en mi notebook Lenovo G480 el sistema operativo Linux Mint 17.2 Rafaela, no entiendo por que le ponen nombre de mujer, creo que le ponen el nombre de su novia o mujer, quizás haga una distribución yo y le ponga el nombre de mi novia también.

 Bien, sin salirnos del tema hace unas semanas instale este magnifico sistema y probar a ver si me sirve a mis necesidades de edición de sonido y vídeo, es decir, todo lo que se refiera a multimedia, sin perder la rapidez, sencillez seguridad y robustez.

Antes de nada quiero dar las características de mi equipo en que probé esta distribución.

  1. Disco duro de 500 GB.
  2. 4 GB de memoria RAM
  3. Procesador Intel Celeron B830 (1.8GHz)

De fabrica venia con el Windows 8.

Para empezar, la instalación es muy fácil, en otra entrada se hablaremos de ello.

Primero hablaremos de la GRUB, ya saben, de la pantalla que te da elegir con que sistema operativo iniciar, en el caso de Linux Mint tenemos un GRUB sencillo, es decir en consola, tal como se muestra en la imagen, supongo que es como el que todos conocemos que con el teclado elegimos desde arriba hasta abajo o viceversa al cual sistema operativo iniciaremos, es sencillo pero se puede modificar.

La pantalla de inicio fue lo que me agrado, en cuanto inicio sentir paz o algo parecido, la verdad que si me sorprendió, se miraba muy bonito.

La pantalla de inicio consiste en una pequeña ventana donde ingresas tu usuario y contraseña y de fondo salen imágenes aleatorias, claro esta que se puede modificar al gusto.

Pero vamos a lo bueno, al objetivo principal ver como se comportan los editores de sonido y vídeo, para empezar revisemos la paquetería necesaria.

Ardour.- Este es el equivalente a Pro Tools en Linux, es para la edición profesional de audio multicanal, pero como en mi caso  no necesito tanto, no grabo a grupos musicales ni nada por el estilo asi que lo mencionare poco, el que sigue si se adapta a las necesidades requeridas.

Audacity.- Es el equivalente a Cool Edit Pro, Adobe Audition. En mi experiancia me grabo excelente, no se cerraba el programa no tuve ningun impedimento al editar, ademas es multicanal, tiene muchas funcionalidades que luego podremos ver en otra entrada, lo recomiendo mucho para este sistema operativo.

KdenLive.- Es un muy buen editor de video, lo proble en Chakra Linux y me dio muy buenos resultados, pero, en Linux Mint parece que viene incompleto, los menus no traen el mensaje y no pude adjuntar archivos, no me sirvio, pero espera hay otro que si sirvio.

OpenShot.- Este paquete es muy bueno, trae varias configuraciones y plantillas para iniciar un proyecto de video, es el equivalente al Camtasia, excepto que no le vi para capturar la pantalla, pero pues ya hay otros capturadores por separado.

Este programa sera el que usare hasta la fecha para encontrarle mas funciones, lo recomiendo, pero cuidado, vallan guardando el proyecto por que de la nada se sale, se cierra y se pierde, a veces se puede recuperar pero 2 de 3 veces no.

En conclusión, hasta ahora este sistema me ha dado resultados buenos, yo en la escala de 1 al 100 le pondría un 80, aclaro, según mis necesidades, claro que le puedo buscar, pero me tomaría tiempo, tiempo que le dedicare y por supuesto publicare lo que valla encontrando.

Mi necesidad de edición de sonido quedo resuelta, aunque bajo algo la edición de vídeo pero es algo que se puede mejorar con buenas practicas.

Bien camaradas espero que la información presentada les sirva y cualquier aportación y critica constructiva en la caja de comentarios es muy bien recibida, no olviden compartir y seguir este blog me haría sentir de maravilla.

Saludos

Recibiendo actualizaciones

Sudo apt-get update

Página 62 de 143

Creado con WordPress & Tema de Anders Norén