Hack X Crack Java
Hack X Crack Java
Un
breve
repaso
A
continuacin
algunas
caractersticas
las
cuales
hacen
de
java
marcar
la
diferencia
entre
muchos
lenguajes
de
programacin:
ROBUSTICIDAD
SIMPLICIDAD:
Lo
que
lleva
a
java
a
ser
un
lenguaje
robusto
Que
sea
simple
no
quiere
decir
que
sea
directamente
es
su
proteccin
al
menos
potente
que
otros
lenguajes
de
programador
en
cuanto
a
eventuales
programacin
no!
errores
de
programacin,
verificando
los
Solo
que
java
posee
las
funciones
de
un
mismos
en
tiempo
de
compilacin
como
en
lenguaje
potente
y
robusto,
eliminando
tiempo
de
ejecucin.
funciones
muy
poco
usadas
y
confusas
al
usuario.
NEUTRALIDAD
DISTRIBUIDO:
Su
neutralidad
se
basa
en
la
generacin
de
En
cuanto
a
su
distribucin
aplica
al
manejo
un
cdigo
objeto
el
cual
es
independiente
de
libreras
que
este
incorpora
(java)
de
la
arquitectura
de
cualquier
maquina,
el
libreras
para
el
manejo
de
conexiones
fichero
generado
por
un
compilador
de
java
TCP/IP
y
protocolos
como
http
y
ftp
para
actualmente
tiene
soporte
para
sistemas
acceder
a
bases
de
datos,
ficheros
y
Solaris,
Linux,
Windows,
Mac,
Apple
Etc.
funciones
que
se
encuentren
en
ordenadores
remotos.
www.hackxcrack.es
SEGURIDAD El cdigo Java pasa muchos tests antes de ejecutarse en una mquina. El cdigo se pasa a travs de un verificador de byte- codes que comprueba el formato de los fragmentos de cdigo y aplica un probador de teoremas para detectar fragmentos de cdigo ilegal -cdigo que falsea punteros, viola derechos de acceso sobre objetos o intenta cambiar el tipo o clase de un objeto- . Si los byte-codes pasan la verificacin sin generar ningn mensaje de error, entonces sabemos que: El cdigo no produce desbordamiento de operandos en pilas El tipo de los parmetros de todos los cdigos de operacin son conocidos y correctos No ha ocurrido ninguna conversin ilegal de datos, tal como convertir enteros en punteros El acceso a los campos de un objeto se sabe que es legal: public, private, protected No hay ningn intento de violar las reglas de acceso y seguridad establecidas ENTORNOS DE DESARROLLO
PORTABILIDAD La portabilidad va desde su poder de ejecucin en mltiples plataformas, hasta facilitar un entorno desarrollado idntico para todos los usuarios en diversas maquinas. INTERPRETACION Sistema Run-Time es el interprete de java encargado de la ejecucin del cdigo objeto comnmente el interprete consume menos recursos que al compilar el code por lo que nosotros como desarrolladores java tendremos ms tiempo para crear, al ser java un lenguaje interpretado lo hace ms lento que otros lenguajes de programacin compilados ya que este (java) debe ser interpretado y no compilado ya que no cuenta hasta ahora con un compilador propio para cada plataforma. ORIENTADO A OBJETOS Soporta los tres paradigmas fundamentales para la orientacin a objetos: Encapsulacin, herencia y polimorfismo.
Existen diversos programas para el desarrollo de cdigo java estos son los muy populares IDE INTEGRATED DEVELOPMENT ENVIRONMENT la compaa SUN nos ofrece gratuitamente el kit para poder desarrollar java JDK JAVA DEVELOPMENT KIT dotado de una serie de libreras y programas para desarrollar, compilar y ejecutar en java y los IDE anteriormente mencionados como siempre lo he dicho nos facilitan la vida =) en un mismo programa podrs ejecutar y compilar en java. Actualmente hay muchos IDE disponibles para java entre muchos tenemos, entre otros: NETBEANS ECLIPSE JDEVELOPER JBUILDER VISUAL J++
www.hackxcrack.es
EMPECEMOS:
COMPILAR
Y
EJECUTAR
TU
PRIMER
PROGRAMA
EN
JAVA
Primero
que
todo
nos
Instalamos
JDK(Java
Development
Kit)
Descarga
http://www.4shared.com/file/MkCwFiMb/jdk-6u20-windows-i586.html
Despus
de
Instalado
JDK
Procedemos
a
su
configuracin
Nos
Ubicamos
en
el
directorio
donde
este
se
instala
Por
defecto
es
(C:\Archivos
de
Programa\Java)
tal
vez
tengas
otras
versiones
instaladas
seleccionas
la
ms
reciente
que
tengas
instalada
lo
ms
probable
es
que
sea
la
que
acabamos
de
instalar
xDD
bue..
Abrimos
la
carpeta
bin
y
copiamos
la
ruta
Ejemplo: C:\Program Files\Java\jdk1.6.0_20\bin Configuramos
el
PATH
Nos
Ubicamos
en
MI
PC
damos
Clic
derecho
seleccionamos
propiedades,
picamos
en
la
pestaa
Opciones
avanzadas,
luego
en
variables
de
entorno,
Seleccionar
Path
y
pincha
en
modificar,
en
los
valores
si
la
cadena
no
termina
con
Punto
y
coma
;
se
lo
pones
y
a
continuacin
pegas
la
ruta
que
copiaste
que
hace
referencia
a
los
binarios
de
JAVA,
Cerramos
la
cadena
con
punto
y
coma
;
Clic
en
OK
y
Aceptar
Creo
que
no
est
de
ms
decir
que
no
tienes
que
borrar
nada
=D
Una
Imagen..
Abrimos
la
SHELL!!
O
CMD
o
la
Pantallita
negra..
Inicio
Ejecutar..
Tipeamos
CMD
Enter
Tecla
Windows
+
R
Tipeamos
CMD
Enter
Hacemos
una
escala
de
directorios
hasta
llegar
al
Directorio
Raz
C:\ con el comando CD..
www.hackxcrack.es
tipeamos
reconocer el comando es porque no est bien configurado nuestro path pero si recibimos una respuesta como la de la siguiente imagen es porque somos triunfantes xD
De
esta
manera
tendremos
nuestro
path
configurado
correctamente
Pero
se
estarn
preguntando
Y
el
path
para
qu?
Pues
el
path
nos
permitir
Hacer
referencia
a
componentes Y funciones de JAVA Para nuestro Uso ;D Con esto podemos con plena certeza compilar y Ejecutar programas Escritos en JAVA, Como primera medida compilemos nuestro primer programa, Al Igual que en muchas ocasiones nos lanzaremos al estrellato programando el popular HOLA MUNDO
www.hackxcrack.es
PROGRAMANDO
Y
COMPILANDO
NUESTRO
PRIMER
PROGRAMA
EN
JAVA
HOLA
MUNDO
Conceptos
a
tener
en
cuenta
antes
de
iniciar:
QUE
ES
UNA
CLASE?
Una
Clase
JAVA
es
la
plantillasobre
la
cual
trabajaremos
y
estas
pueden
contener
variables
y
mtodos
Dicha
clase
debe
tener
el
mismo
nombre
del
archivo
.java
QUE
ES
UN
MTODO?
Un
mtodo
JAVA
es
un
Bloque
de
cdigo
que
se
le
asigna
un
nombre
para
ser
llamado
luego
en
cualquier
evento
del
programa.
Listo
despus
seguimos
con
ms
conceptos
Empezamos
a
programar
en
JAVA
nada
mas
basta
con
abrir
un
editor
de
texto
y
que
mejor
opcin
que
el
tradicional,
viejo,
muy
conocido,
estupendo
y
poderoso
notepad
block
de
notas,
Que
pensabas
que
el
notepad
solo
serva
para
hacer
bats
y
autoruns
Bue..
Ya
con
nuestro
blog
de
notas
abierto
tiramos
code
JAVA!
Para
este
ejemplo
Crearemos
una
Carpeta
en
C:\
yo
la
llame
hola
mundo
sea
que
este
ejercicio
lo
guardare
en
C:\hola
mundo\
y
le
pondr
como
nombre
main.java
haber
si
le
pones
otro
nombre
he?
Nota:
El
Nombre
de
la
Clase
debe
ser
el
Mismo
Que
el
nombre
del
archivo
public
class
main
Ejemplo:
{
Nombre
archivo:
suma.java
public
static
void
main(String[]
args)
Clase:
public
class
suma
{
System.out.println("Hola
Mundo");
Recordar!
JAVA
Diferencia
entre
maysculas
y
minsculas
}
}
sea
que
es
diferente
Variable1
a
variable1
Le
damos
Archivo
Guardar
como
Buscamos
nuestra
ruta
C:\hola
mundo\
ya
saben
nombre
del
archivo
main.java
y
abajo
en
tipo
de
archivo
seleccionamos
todos
los
archivos
Listo hemos creado el archivo JAVA Abrimos La Shell nos ubicamos en la carpeta donde guardamos el archivo Para compilar javac [nombre archivo].java Para ejecutar java [nombre archivo] Cabe Recalcar que estos comandos de ejecucin y compilacin se puden ejecutar desde cualquier directoro en el que estemos ubicados en la consola, solo en el directorio raiz
www.hackxcrack.es
Tal
Vez
si
nunca
has
programado
en
java
te
preguntaras
Por
Dios
Que
es
este
cdigo
:S
?
Listo
explicare..
Al
declarar
public
class
main
{
Si
sabemos
un
poco
de
ingles
Estamos
declarando
una
clase
pblica
sea
que
esta
clase
puede
ser
accesible
desde
otras
clases
Aqu
estamos
programando
el
cuerpo
de
nuestra
clase
y
las
funciones
del
programa
public
static
void
main(String[]
args)
{
Con
esta
Instruccin
Mostramos
Un
mensaje
en
pantalla,
en
este
caso
****
Hola
Mundo****
System.out.println("Hola
Mundo");
Y
por
ultimo
cerramos
}
}
Con esto hemos terminado el primer programa en java de nuestras vidas si.. Si.. Vendrn muchos ms.. Como por ejemplo hagamos otro programa tpico al iniciar en cualquier lenguaje de programacin
Sumemos 2 nmeros! =D
VARIABLES:
Con
el
fin
de
retener
y
poder
utilizar
tanto
los
datos
inciales
como
los
resultados
de
operaciones
efectuadas
durante
la
ejecucin
de
un
programa
se
requiere
la
utilizacin
de
variables,
que
representan
un
lugar
de
almacenamiento,
cuyo
contenido
podr
variar
durante
el
proceso
de
ejecucin
del
programa.
Variables
de
tipo
Enteras:
int variable1 = 500; Declaramos
que
variable1
es
un
entero
que
equivale
a
500
Los
datos
de
tipo
int
representan
el
conjunto
de
los
nmeros
enteros
positivos
y
el
conjunto
de
los
nmeros
enteros
negativos
www.hackxcrack.es
Variables de Tipo Cadena: String nombre = "hackxcrack"; Declaramos que nombre es una cadena de carcter equivalente a hackxcrack El string se define como una cadena de caracteres determinada por una secuencia de caracteres encerrados entre los apostrofes Variables de tipo decimal double res = 3.5; double numero1; Declaramos una variable res con valor de 3.5 y una variable numero1 sin ningn valor tal vez la declaramos para asignarle algn valor durante la ejecucin del programa float variable1,variable2,variable3; float nn = 050; Declaramos inicialmente 3 variables sin valor y mas abajo una variable nn con valor 050.
IDENTIFICADORES:
Un
identificador
es
un
nombre
que
otorgamos
a
una
variable
para
diferenciarla
dentro
del
programa,
dichos
identificadores
estn
regidos
por
algunas
reglas
expuestas
por
el
lenguaje
estas
son:
Debe
Comenzar
con
letra
No
puede
contener
espacio
en
blanco
No
se
podr
utilizar
palabras
reservadas
del
lenguaje
como
identificadores
Como
dije
arriba
se
distinguir
entre
MAYUSCULAS
y
minsculas
No
Incluir
caracteres
especiales
Correcto:
Incorrecto:
1nombre Comienza por Numero Cuenta tres Contiene espacio en blanco new es una palabra reservada nueva# Contiene Meta Carcter
COMENTARIOS:
Los
Comentarios
son
los
textos
que
generalmente
se
hacen
en
la
cabecera
o
al
final
del
programa,
tambin
se
suelen
colocar
comentarios
para
explicar
lneas
de
cdigo
y
guiarse
en
programas
extensos
por
lo
menos
yo
uso
los
comentario
para
boludear
nomas
=)
Los
Comentarios
En
Java
tienen
la
siguiente
estructura.
www.hackxcrack.es
// Hola Soy Un Comentario en Java y Mi Presencia aqu no afecta en lo mas mnimo al programa /* * Hola Soy Un Comentario en Java * De Varias Lineas =D */ Bien ahora teniendo unos cuantos conceptos bsicos tiramos el code: public class suma{ public static void main (String [] args) { int num1 = 20; int num2 = 20; int suma; suma = num1 + num2; System.out.println("El resultado es"+suma); } } Explicacion Bien Compilamos como ya sabemos =) y tendremos como resultado 40 en este ejercicio vemos la manera de declarar variables asignadas como num1 que es un entero con valor de 20 y la variable suma que es un entero que no le asignamos valores ya que el valor de este vendr de la suma de num1 + num2, nos topamos tambin con instruccin: System.out.println(El resultado es+suma); Si..si.. ya se es para mostrar un mensaje en pantalla y tambin resultados obtenidos en operaciones realizadas dentro del programa. Muy Bien! As es.. ;D Pero No quiero Asignar los Nmeros quiero Digitarlos Yo Mismo!! :S Muy Bien En el Siguiente Ejercicio veremos como capturar datos digitados desde el teclado, asignarlos a variables para luego realizar operaciones pertinentes. import java.util.Scanner; public class sumaj{ public static void main(String Args[]){ int num1; int num2; int suma; Scanner reader = new Scanner(System.in);
www.hackxcrack.es
System.out.print ("Digite primer numero:"); num1 = reader.nextInt(); System.out.print ("Digite segundo numero:"); num2 = reader.nextInt(); suma = num1+num2; System.out.println("El resultado es:"+suma); } } Nos topamos que hemos usado la instruccin import con la que.. si si.. importamos la librera java.util.Scanner para poder recuperar en nuestras variables los datos digitados en la consola .D Mediante num1 = reader.nextInt(); de resto igual una vez tenemos los datos realizamos operaciones y mostramos resultados en el transcurso de la programacin en java podrs darte cuenta que debers importar algunas libreras para poder utilizar ciertas funciones y controlar eventos.
INSTRUCCIONES
DE
CONDICION
Estas
Instrucciones
evalan
la
veracidad
en
cuanto
a
eventos
dados
en
el
programa,
exacto
te
estoy
hablando
del
muy
conocido
SI
el
cual
abunda
en
la
mayora
de
los
lenguajes
de
programacin
ya
que
es
una
instruccin
muy
poderosa.
sintaxis
if
[Condicin]
{
[sentencias
1]
}
else
{
[sentencias
2]
}
Un
ejemplo:
Deseamos
llevar
a
juan,
carlos
y
a
miguel
a
una
Disco
pero
solo
admiten
solo
mayores
de
18
Tendramos
que
saber
la
edad
de
los
3
no?
Listo
Pedimos
la
edad
de
cada
uno
y
evaluamos
si
estas
son
mayores
a
18
con
un
si.
Comenzamos.
10
www.hackxcrack.es
SOLUCION:
import
java.util.Scanner;
public
class
van{
public
static
void
main(String
Args[]){
int
edaddejuan,
edaddecarlos,
edaddemiguel;
Scanner
reader
=
new
Scanner(System.in);
System.out.print
("Digite
la
edad
de
juan");
edaddejuan
=
reader.nextInt();
System.out.print
("Digite
la
edad
de
carlos");
edaddecarlos
=
reader.nextInt();
System.out.print
("Digite
la
edad
de
miguel");
edaddemiguel
=
reader.nextInt();
if
(edaddejuan
>=
18)
{
System.out.println("JUAN
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddejuan);
}
else
{
System.out.println("JUAN
NO
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddejuan);
}
if
(edaddecarlos
>=
18)
{
System.out.println("CARLOS
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddecarlos);
}
else
{
System.out.println("CARLOS
NO
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddecarlos);
}
if
(edaddemiguel
>=
18)
{
System.out.println("MIGUEL
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddemiguel);
}
else
{
System.out.println("MIGUEL
NO
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddemiguel);
}
}
}
Como
en
el
ejercicio
anterior
pedimos
los
datos,
pero
con
la
particularidad
que
evaluamos
los
datos
recuperados
con
el
condicional
if:
if
(edaddecarlos
>=
18)
{
System.out.println("CARLOS
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddecarlos);
}
else
{
System.out.println("CARLOS
NO
PUEDE
ENTRAR
A
LA
DISCO
YA
QUE
TIENE"+edaddecarlos);
}
Si
edaddecarlos
es
mayor
o
igual
(
>=
)
a
18
escriba
CARLOS
PUEDE
ENTRAR
A
LA
DISCO
Si
no
es
as:
CARLOS
NO
PUEDE
ENTRAR
A
LA
DISCO
Fcil
verdad?
11 www.hackxcrack.es
Un Poco mas de Teoria.. es bueno por que muchos Programadores solo conocen el nombre de las funciones, no se muchas veces usan instrucciones en un lenguaje por inercia bue.. Sigamos.. El Bucle FOR es una estructura de control disponible en casi todos los lenguajes de programacin.. Ofrecindole al programador la posibilidad de definir cuantas veces desea generar determinada accin Sintaxis for variable1 variable2 hasta variable3 incrementos de variable4 { Instrucciones }
12
www.hackxcrack.es
public static void main(String Args[]){ int tabla; Scanner reader=new Scanner(System.in); System.out.println("Que Tabla de Multiplicar Deseas Revisar?"); tabla=reader.nextInt(); System.out.println("****** TABLA DE MULTIPLICAR GENERADA ****** "); for (int var1=1;var1<11;var1++) System.out.println("Multiplicacion de: "+tabla+ "x" +var1+ "=" +(var1*tabla)); } } Como vemos pedimos el numero de la tabla que deseamos ver y mediante el ciclo for iniciamos la variable variable1 en un valor de 1 e incrementndola hasta que sea menor a 11 luego mostramos la salida por pantalla con un mensaje en el cual tambin lleva la operacin de multiplicacin.
INSTRUCCIN DE REPETICION CICLO WHILE Mientas QUE Esta es otra instruccin poderosa al momento de repetir bloques de cdigo, su funcin esta centrada en ejecutar bloques de cdigo mientras una instruccin sea verdadera. Sintaxis
13
www.hackxcrack.es
public class promedio_de_notas { public static void main (String Args[]){ //Declaracion de Variables int nn; int tope = 1; float n; float notas = 0; Scanner reader=new Scanner(System.in); //Mensaje al Usuario System.out.println("*****************************************"); System.out.println("******Cuantas Notas Deseas Evaluar?******"); System.out.println("*****************************************"); //Recojemos La Cantidad de Notas a Promediar nn=reader.nextInt(); while(tope<=nn) //Mientras que Tope Sea Menor Igual a nn Pidamos Notas { System.out.println("Digita Una Nota"); n=reader.nextFloat(); tope=tope+1; //Incrementamos el valor de la variable tope para controlar el ciclo notas=notas+n; //Vamos Recolectando el Valor de las Notas Que Digitamos y las sumamos }//cerramos el ciclo System.out.println("El Promedio de Notas es:"+(notas/nn)); // Mostramos Resultados } } IMAGEN DEL EJERCICIO ANTERIOR Aqu Terminamos Con Java En modo consola ahora pasamos a un entorno de trabajo mucho ms amigable y cmodo el cual nos facilitara mucho nuestro trabajo NETBEANS Hay muchos IDE Lo s pero para m uno de los ms completos y robustos es NETBEANS de la misma compaa de java, SUN que actualmente cursa en su versin 7 =) Podemos Acceder a la descargar Aca: http://netbeans.org/community/releases/70/ En la parte de arriba explique lo que era un IDE pero tal vez te ests preguntando ser que el IDE programara por mi? Aja como acabas de decir que me facilitara el trabajo.. :$
14
www.hackxcrack.es
Est bien aclaremos los IDE INTEGRATED DEVELOPMENT ENVIRONMENT Es un programa el cual nos pone en bandeja de plata un lenguaje para que programemos solo las funciones de los programas que hagamos y no todo el proyecto en si. Ejemplo: Por consola os tocara desde disear las ventanas de tus formularios hasta crear cada botn a mano code por code. Mientras que un IDE te permite crear formularios arrastrar componentes botones, etiquetas, tablas etc Vez la ventaja de tener un IDE =) pero cabe recalcarte que un buen programador debe saber hacer desde arrastrar un componente a un formulario, hasta saber el code que se ha generado al momento de realizar esa accin. Exacto! Que las cosas es mejor hacerlas uno mismo que a que otro te las de echas pero sabemos que este campo de la programacin se mueve muy rpidamente y debemos estar a la par y sacar proyectos para vender y obtener ms clientes as que el espabila pierde!! . ECHANDO NUESTRO PRIMER VISTAZO AL IDE =) Como Vemos es un entorno grafico pero tambin podemos realizar programas por consola como los que venamos realizando, ya no tenemos que abrir la consola y teclear java [nombre_programa] solo damos ejecutar y listo jeje ya te diste cuenta de lo que pasa cuando le das al botn ejecutar no? xD Tambin tienes a tu disposicin una paleta de componentes con botones, labels, campos de texto entre muchos otros componentes ms que solo ser dar clic y llevarlo a tu formulario ;) El Inspector de Objetos muestra un rbol de todos los componentes que ests utilizando en algn formulario, se que estas ansioso por hacer tu primera aplicacin haber qu tal te va listo hagmosla!! Como primera medida vamos a crear un proyecto File New Proyect
15
www.hackxcrack.es
Next >> Ponemos el nombre del proyecto es el nombre que quieras man yo le puse mi proyecto de ejemplo Veamos que tanto vuela tu imaginacin :D Y finish
=O se crearon el paquete y la clase (H), Exacto se crean solitos y como lo que vamos a trabajar es entorno grafico crearemos un formulario para empezar a realizar tareas sencillas, cabe decir que nuestra finalidad es llegar a realizar un proyecto con conexiones a bases de datos =) pero para llegar haya tendremos que practicar algunas cosillas bsicas, Paciencia Virtud de Sabios Bien Creamos el Formulario Clic Derecho Sobre nuestro Paquete new jframeform Se.. Creativo cambia el nombre xDD
16
www.hackxcrack.es
Ejecutas con Shift + F6 o te vas al Explorador de proyectos clic derecho sobre el archivo que quieres ejecutar y escoges run file Y Lo Ejecutaste.. =D Bueno un gran programador Es una persona inquieta Que le gusta experimentar Hasta las cosas ms sencillas De las cuales aprende mucho ms de lo que imagina
Para Cambiar el texto de las etiquetas de las cajas de texto o del botn solo seleccionamos el control y nos vamos a las propiedades del objeto y buscamos la propiedad text y modificamos. simplemente clic derecho al componente Edit Text Bien Ahora a programar!! Antes de empezar recordar que los jtextFields recuperan todo en formato texto :S Que haremos!! Bien Pasos a seguir 1. declararemos variables String para caputar los datos de los jtextfields 2. declararemos variables de tipo numero. 3. realizaremos una conversin de las variables tipo String a numero 4. realizamos una suma comn y corriente 5. mostramos el resultado en el tercer JtextField Facil!! Con el formulario abierto da clic en el botn code jeje si lo tienes en ingles en source y nos ubicamos bajo package mi.proyecto.de.ejemplo; E importamos la librera javax.swing.JOptionPane; para poder lanzar mensajes. import javax.swing.JOptionPane; Bien damos doble clic al botn calcular y tiramos el code. String a,b; //Declaramos Variables String double c,d,e; // Declaramos variables Tipo Double a = jTextField1.getText(); // Capturamos Los Valores del JtextFiel1 en "a"
17
www.hackxcrack.es
b = jTextField2.getText(); // Capturamos Los Valores del JtextFiel2 en "b" c = Double.parseDouble(a); //Conversion de Texto a Double d = Double.parseDouble(b); //Conversion de Texto a Double e = c + d; //Ya podemos sumar normalmente jTextField3.setText(String.valueOf(e)); //Mostramos Valores en el JTextFiel3 JOptionPane.showMessageDialog(this, ".::Listo!!::.", "Suma Realizada JOptionPane.INFORMATION_MESSAGE); //Listo!
Corectamente",
Mensaje
de
Pregunta
JOptionPane.showMessageDialog(this,
".:TEXTO
MENSAJE::.",
"TITULI
MONSAJE",
JOptionPane.QUESTION_MESSAGE);
18
www.hackxcrack.es
19
www.hackxcrack.es
numero2 = Double.parseDouble(n2); resultado = numero1 * numero2; jTextField3.setText(String.valueOf(resultado)); } if (dividir.isSelected()) { Double numero1,numero2,resultado; n1 = jTextField1.getText(); n2 = jTextField2.getText(); numero1 = Double.parseDouble(n1); numero2 = Double.parseDouble(n2); resultado = numero1 / numero2; jTextField3.setText(String.valueOf(resultado)); } }
EJERCICIO
PROPUESTO:
Asignar
5
opciones
a
un
JComboBox
y
al
seleccionar
algn
tem
un
JLabel
diga
que
tem
seleccionamos:
Doble
clic
al
JComboBox
y
codeamos:
String
var;
//Declaramos
una
variable
string
para
guardar
el
dato
del
JCombobox
var=((String)
jComboBox1.getSelectedItem());
//Asignamos
el
valor
seleccionado
a
la
variable
if
(var.equals("ITEM
NUMERO
1")){
//evaluamos
qu
valor
tiene
la
variable
var
jLabel3.setText("HAS
SELECCIONADO
EL
ITEM
NUMERO
UNO");
//
mostramos
que
tem
seleccionamos
}
if
(var.equals("ITEM
NUMERO
2")){
jLabel3.setText("HAS
SELECCIONADO
EL
ITEM
NUMERO
DOS");
}
if
(var.equals("ITEM
NUMERO
3")){
jLabel3.setText("HAS
SELECCIONADO
EL
ITEM
NUMERO
TRES");
}
if
(var.equals("ITEM
NUMERO
4")){
jLabel3.setText("HAS
SELECCIONADO
EL
ITEM
NUMERO
CUATRO");
}
if
(var.equals("ITEM
NUMERO
5")){
jLabel3.setText("HAS
SELECCIONADO
EL
ITEM
NUMERO
CINCO");
}
20
www.hackxcrack.es
EJERCICIO
PROPUESTO
Digitar
un
valor
Cualquiera
en
un
JTextField
y
mostrar
este
en
un
Mensaje
en
otro
JtextField
y
en
un
JLabel
Importamos
la
librera
jOptionpane
package
mi_proyecto_de_ejemplo;
//Recuerda
este
es
el
paquete
de
tu
proyecto
import
javax.swing.JOptionPane;
//importamos
Haber
damos
Doble
clic
en
el
boton
OK
String
texto;
texto
=
jTextField1.getText();
//Recuperamos
el
valor
escrito
en
el
jTextField1
jTextField2.setText(String.valueOf(texto));//Asignamos
el
valor
recuperado
a
jTextField2
jLabel5.setText(String.valueOf(texto));//Asi
mismo
a
Label5
JOptionPane.showMessageDialog(this,
'"'+jTextField1.getText()+"'",
"Texto
En
JTextField1",
JOptionPane.INFORMATION_MESSAGE);//
Asi
mismo
en
un
mensaje
COMPONENTE
A
ESTUDIAR:
JPASSWORDFIELD
Los
JpasswordField
son
los
componentes
que
reciben
datos
confidenciales
en
la
mayoria
de
los
casos
contraseas
esas
cajitas
de
texto
que
cuando
escribes
solo
salen
los
tpicos
asteriscos
******
EJERCICIO
PROPUESTO
Bien
para
el
ejemplo
haremos
un
formulario
login
muy
sencillo
se
pedira
para
el
acceso
a
la
aplicacin
nombre
de
usuario
y
password
haber
de
usuario
colocare
Administrator
y
pass
colocare
12345678910
HUM..
que
colocas
vos
he?
Bien
empezamos!
21
www.hackxcrack.es
Diseamos un Formulario donde pidamos user y pass. Cambiemos los nombres de los campos clic derecho sobre el jTextField change variable name yo le puse user y al jPasswordField le puse pwd . Como sabemos que validaremos los datos en el boton Acceder damos doble clic sobre el y programamos: Me Imagino que no tengo que recordar importar la librera joptionpane xDD String Usuario = user.getText(); char passArray[] = pwd.getPassword(); String pass = new String(passArray); //capturamos los datos digitados por el usuario if (Usuario.equals("Administrator") && pass.equals("12345678910")) { JOptionPane.showMessageDialog(this, ".::Bienvenido a la Aplicacion!::.", "Acceso Correcto", JOptionPane.INFORMATION_MESSAGE); //verificamos si estos equivalen a nuestro login user Administrator y pass 12345678910 mi_proyecto_de_ejemplo.principal principal= new mi_proyecto_de_ejemplo.principal(); principal.show(); //De ser cierto Mostramos el formulario principal setVisible(false); //y ocultamos el login } else { // de ser erroneo nuestros datos digitados mostramos un error de acceso JOptionPane.showMessageDialog(this, "Usuario o Contrasea Incorrectos Verifica", "Error de Acceso", JOptionPane.ERROR_MESSAGE); user.setText(null); pwd.setText(null); //y limpiamos los campos para un nuevo intento } IMAGEN DEL EJERCICIO ANTERIOR
22
www.hackxcrack.es
COMPONENTE A ESTUDIAR: JMENUBAR Bien un menu para ofrecer opciones a diferentes parte de un software asi como cuando el profe de informatica decia en el cole, bueno nos vamos a archivo nuevo xDD exacto esta haciendo referencia al item nuevo que esta en el menu archivo bien hagamos uno en netebeans creamos un formulario y seleccionamos de la seccion Swing Menus de la paleta de componentes el componente MENUBAR Y lo colocamos en nustro formulario como vez enseguida se situa en la parte superior como cualquier menu. Armando el menu asi.. ARCHIVO ACERCA DE.. Opcion 1 hacerca de hack x crack Opcion 2 Opcion 3 Salir Al picar en opcion1 abriremos un formulario puede ser en blanco y asi con opcion 2,3 y tambien en el menu acerca de.. Clic derecho sobre el primer item edit text para modificar el texto pones Archivo y en el otro pones Acerca de.. Ahora agregamos los items de cada menu clic derecho add from palette menu item
Si eres Buen observador puedes dar cuenta que os da la opcion de colocarle a los items shortcut osea asignarle una tecla de acceso rapido y un icono solo es darle doble clic y configurarla =)
23
www.hackxcrack.es
ASIGNANDO FUNCIONES A CADA ITEM Ubiquemos Opcion 1 del menu archivo y demos clic derecho events action actionPerformed En este caso abrire un formulario que se le llame opcion1 mi_proyecto_de_ejemplo.opcion1 variable= new mi_proyecto_de_ejemplo.opcion1(); variable.show(); asi mismo con los demas items y el item salir? Asi me gusta que estes atento =D hacemos igual que en los demas pero el code seria: System.exit(0);//Un boton cerrar :$ COMPONENTE A ESTUDIAR JPANEL Los panel son utilizados para agrupar componentes o en muchas ocaciones yo los tomo solo para colocarle una imagen de fondo a un formulario. Sale ejemplo coloquemos una imagen de fondo a un formulario mediante un jpanel Expandemos el jpanel de tal manera que cubra todo el formulario y nos bamos a propiedades.. no se olvide que se encuentra en la parte derecha del programa escojes border.
24
www.hackxcrack.es
Aqu seleccionas Matte Border y luego clic en icon seleccionas external image para buscarla en tu Pc
Clic en OK y listo habremos puesto una imagen de fondo al programa En mi caso me quedo asi.
Bien si has llegado hasta aqu quiere decir que tienes muchos conseptos basicos en programacion java y del manejo del IDE NETBEANS, ahora haremos la tan anhelada conexin a BASE DE DATOS para el primer paso en las conexiones, utilizaremos como Motor de Base de Datos Microsoft Access, Quizas si has leido sobre access muchos no lo catalogan como un verdadero motor y gestor de bases de datos opinion que comparto con el que lo dice ;) pero sera el primer escalon a subir. Pero me dices que no es catalogado como un verdadero motor de bases de datos :$ por que no hacemos una conexin con un verdadero motor de bases de datos? Paciencia.. decierto os digo que al terminar la conexin con access realizaremos una con MYSQL =) No pongas esa cara ningun conocimiento esta de mas tal vez algun dia necesites una basesita de datos en access para algun programa pequeo.. o bien utilizar tablas temporales en access vez.. de algo puede servir :D Pero ten en cuenta las palabras de un profesor que tuve DESPUES QUE LA EMPRESA TENGA UN AVISO DE MAS DE 4 METROS DE ANCHO YA ACCESS NO LE SIRVE COMO MOTOR DE BASE DE DATOS XD Sin mas ni mas empezamos CONECTANDO A NUESTRA PRIMERA BASE DE DATOS EN ACCESS
25
www.hackxcrack.es
Montamos un escenario con 4JttextFields 4 Jlabels y un JButton Asi: Cambiamos las variables de las cajas de texto como ya sabemos clic derecho change variable name Y pongamos nombres alusivos identificacion,nombres,apellidos,ocupacion como ya sabes que la finalidad es guardar esos campos digitados en una base de datos en access abrimos access para crear la BD. Como puedes ver le coloque de nombre BD.mdb, OJO no la guardes aun el paso a seguir es guardarla en la misma carpeta de tu proyecto. y donde estan guardados los proyectos de NETBEANS? En Mis Documentos en la carpeta llamada NetBeansProjects hay se encuentran todos yo en mi caso quice ser un poco organizado y dentro de la carpeta del proyecto cree otra con nombre basededatos y la guarde hay dentro =)
Ahora trabajamos en access damos doble clic sobre cada columna y colocamos los nombres de estas asi: Cierras la tabla y pedira un nombre yo le puse datos_personales Segimos clic derecho a la tabla ps digo la por que solo tenemos una xD Y escojes vista diseo
26
www.hackxcrack.es
Vemos como estan constituidos los datos de la tabla y tambien vemos que la llave primaria es el campo identificacion LLAVE PRIMARIA: es la columna que representara los datos almacenados en la tabla y no debe repetirse Ejemplo: Insertaste en identificacion: 123, en nombre: jose, en apellidos: mendez, y en ocupacion: desempleado al buscar la identificacion con numero 123 sabras que haces referencia a jose medes que es un desocupado xDD Bien vemos como esta conformada la tabla y nos damos cuenta que el campo identificacion tiene tipo de dato autonumerico lo pasamos a texto tambien ,) Guardamos, hemos terminado con access volvamos a NetBeans. Creamos Una clase para la conexin Recuerda clic derecho sobre el paquete de tu proyecto new Java class de nombre puse conexin Creamos otra clase llamada guardar. La clase conexin hara la referencia o la conexin con la base de datos de access y la clase guardar tendra las funciones obvias de guardar utilizando como referencia la clase conexin Asi va el paquete Y por que todo lo hacemos en clases y no el code en el boton como he visto en otros lenguajes? Pues si podemos hacerlo con el code en el boton pero piensa si tienes un software con mil botones guardar, modificar, eliminar etc cuantas conexiones tocaria hacer? Este ejemplo es pensado para personas que quieran seguir programando en java a lo grande, hay que prepararse para la destruccion de mundo y asi se empieza =) Empezaremos con el code, ya sabemos que donde veas un Joptiompane debes importar la librera Abrimos la clase conexin e importamos algunas librerias necesarias para el control de errores de haberlos y drivers de conexin package mi_proyecto_de_ejemplo;// Ya sabes que este es el paquete import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.sql.Statement; public class conexion { private Connection conexion; public Statement sentencia;
27
www.hackxcrack.es
public void conectarBaseDeDatos() { try { final String CONTROLADOR = "sun.jdbc.odbc.JdbcOdbcDriver"; //Aqui se declara el controlador a utilizar Class.forName( CONTROLADOR ); final String RUTA_BD = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+ System.getProperty( "user.dir" )+"/dasedatos/BD.mdb"; // hacemos referencia al archivo access BD.mdb conexion = DriverManager.getConnection(RUTA_BD); sentencia = conexion.createStatement(); // se declara una variable sentencia para la manipulacion de la base de datos } catch (ClassNotFoundException ex1) { ex1.printStackTrace(); javax.swing.JOptionPane.showMessageDialog(null,"Error Carga Driver"); System.exit(1); //En caso de errores de driver } catch (SQLException ex) { ex.printStackTrace(); javax.swing.JOptionPane.showMessageDialog(null,"Error Creacion Statement"); System.exit(1); //en caso de no acceder a la base de datos o no encontrar ruta correcta } } } SEGUIMOS AHORA CON LA CLASE GUARDAR package mi_proyecto_de_ejemplo; public class guardar { mi_proyecto_de_ejemplo.conexion bd = new mi_proyecto_de_ejemplo.conexion(); // Asiganmos un alias a la clase conexin en este caso bd public void registrar_datos(String id,String n,String a, String o){ //halamos las variables declaradas en el formulario principal.. tranquilo ya las declaramos xD try{ bd.conectarBaseDeDatos(); //conectamos.. bd.sentencia.execute("INSERT INTO datos_personales(identificacion,nombres,apellidos,ocupacion) VALUES('"+id+"','"+n+"','"+a+"','"+o+"'"+")"); //insertamos los datos un SQL normal.. //PD no explico SQL por que hay una revista expresamente para eso =D }catch (Exception e){} } }
28
www.hackxcrack.es
Ahora seguimos con el FORMULARIO en mi caso se llama formulario_conexion y aadimos un alias para hacer referencia a la clase guardar public class formulario_conexion extends javax.swing.JFrame { //esto es para que os guie ;D mi_proyecto_de_ejemplo.guardar guardar = new mi_proyecto_de_ejemplo.guardar(); Listo seguimos con el boton, doble clic y programamos.. String id = identificacion.getText(); String n = nombres.getText(); String a = apellidos.getText(); String o = ocupacion.getText(); //Recuperamos en variables los valores digitados en las JtextField guardar.registrar_datos(id, n, a, o); //Mandamos las variables a la clase guardar.. ya ella sabra que hacer con ellas xDD JOptionPane.showMessageDialog(null,"Datos Guardados Correctamente ","Mensaje de Confirmacion",JOptionPane.PLAIN_MESSAGE); //Decimos que ya todo esta heco (H) identificacion.setText(""); nombres.setText(""); apellidos.setText(""); ocupacion.setText(""); // y limpiamos los campos para seguir digitando J Listo Corremos la aplicacin
29
www.hackxcrack.es
Verificamos la Base de datos.. Efectivamente Los datos son enviados correctamente a los campos de la BD Aqu hemos terminado nuestra primera conexin a bases de datos muy simple J Me imagino que debes estar pensando que si puedes guardar.. podras Eliminar, Modificar, buscar Exacto ya has dado un gran paso hacer la conexin y guardar datos Acontinuacion una verdadera conexin a bases de datos utilizando como SGBD Sistema Gestor de Bases de Datos MYSQL 5.1 Si no lo tienes instalado puedes descargarlo aca: http://dev.mysql.com/get/Downloads/MySQL- 5.1/mysql-5.1.51-win32.msi
Proyecto
a
Realizar:
Software
Con
Conexin
MYSQL
Modo
Local
Funciones:
Registrar
datos
(guardar)
Actualizar
Registros
Eliminar
Registros
Buscar
Registros
Mostrar
registros
Almacenados
en
la
Base
de
Datos
Utilizaremos
los
mismos
mecanisnos
ubicando
cada
funcion
en
clases
diferentes
para
un
mejor
entendimiento
y
manejo
de
clases
empezamos!!
PARA EL EJEMPLO HE DECIDIDO QUE CREEMOS UN PROYECTO PARA REGISTRO DE ESTUDIANTES DE UN COLEGIO X Creamos nuestra Base de Datos en MYSQL La llamaremos colegio Abrimos La Consola de MYSQL Por si no tenemos un IDE Para Mysql como SQL JOG Navicat CREATE DATABASE colegio; Para Activarla y que Todo lo que Hagamos en esa Base de datos USE colegio
30
www.hackxcrack.es
Creamos
la
tabla
donde
guardaremos
todos
los
registros
CREATE
TABLE
alumnos
(
id
VARCHAR(20)
NOT
NULL,
nombres
VARCHAR(30)
NOT
NULL,
apellidos
VARCHAR(30)
NOT
NULL,
edad
VARCHAR(10)
NOT
NULL,
direccin
VARCHAR(50)
NOT
NULL,
primary
key(id)
);
RECIBIMOS..
Query
OK,
0
rows
affected
(0.25
sec)
PERO
aun
asi..
verificamos
que
la
tabla
se
haya
creado..
necio
yo?
xDD
SHOW
TABLES;
+-------------------+ | Tables_in_colegio | +-------------------+ | alumnos | +-------------------+
Okey
hay
tenemos
nuestra
tabla
creada
en
la
base
de
datos
colegio
Otro
tip
SQL
de
paso
miremos
como
est
compuesta
la
tabla..
DESCRIBE
alumos;
+-----------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------+-------------+------+-----+---------+-------+ | id | varchar(20) | NO | PRI | | | | nombres | varchar(30) | NO | | | | | apellidos | varchar(30) | NO | | | | | edad | varchar(10) | NO | | | | | direccion | varchar(50) | NO | | | | +-----------+-------------+------+-----+---------+-------+
Okey hay tenemos la descripcin de la tabla que hicimos anteriormente,, bue,, dejamos el SQL por ahora.. Abrimos Nuestro IDE de NetBeans y Creamos el Proyecto para Realizar las Conexiones..
31
www.hackxcrack.es
Ya esta parte de creacion de proyectos la explique pero por lo general hay alumnos que llegan tarde a las clases xDD sigamos..
Para organizar los elementos en nuestro proyecto separamos las clases de los formularios Agregamos otro paquete al proyecto como en la siguiente imagen..
32
www.hackxcrack.es
Listo entonces en el paquete clase si guardaremos todo los que son clases y en el paquete proyecto_conexion guardaremos todo lo que sern formularios =)
Agregamos Una claseen el paquete clases la cual se encargara de realizar la conexin a la base de datos.
33
www.hackxcrack.es
import java.sql.Statement; public class conexionMySQL { public static Connection conexion; public Statement sentencia; private Principal prin; public ResultSet resultado; public void conectarBaseDeDatos() { try { final String CONTROLADOR = "org.gjt.mm.mysql.Driver"; //Al igual que en el ejemplo anterior Declaramos que driver vamoa a utilizar Class.forName( CONTROLADOR ); conexion = DriverManager.getConnection("jdbc:mysql://localhost/colegio","root","root"); //hacemos la conexion en este caso en localhost por que la bd esta en nuestro pc //especificando usuario y contrasea sentencia = conexion.createStatement(); //variable sentencia encargada de las funciones hacia la db } catch (ClassNotFoundException ex1) { ex1.printStackTrace(); javax.swing.JOptionPane.showMessageDialog(null,"Error Carga Driver"); //encaso de errores referentes a driver error de carga, no encontrarlo etc System.exit(1); } catch (SQLException ex) { ex.printStackTrace(); javax.swing.JOptionPane.showMessageDialog(null,"Error Creacion Statement"); //encaso de no encontrar la bd System.exit(1); } } public void desconectarBaseDeDatos() { // metodo de desconexion try { if (conexion != null ) { if(sentencia != null) { //si la conexion devuelve valores nulos sentencia.close(); } conexion.close();
34
www.hackxcrack.es
} } catch (SQLException ex) { ex.printStackTrace(); } } } Recordarte Guarda muy bien este code ya que para realizar conexiones en un futuro te sera muy util solo bastaria cambiar el nombre de la base de datos a la que ballas a utilizar
Luego
nos
vamos
a
Bibliotecas
y
aadimos
nuestro
driver
Clic
derecho
en
el
paquete
bibliotecas
aadir
Biblioteca
Encaso
de
No
tener
el
Driver
Instalado
no
sera
nada
raro
#D
pues
lo
descargamos
http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.13.tar.gz
Lo
descargamos
obvio
que
ya
no
sera
clic
derecho
sobre
Bibliotecas
aadir
bibliotecas
Ahora
seria
clic
derecho
sobre
bibliotecas
Aadir
archivo
JAR/Carpeta
Buscamos
La
carpeta
mysql-connector-java-5.1.13
y
aadimos
el
archivo
JAR
Ahora
agregamos
El
formulario
el
cual
tendr
las
funciones
directas
Guardar,
Eliminar,Buscar,Modificar
y
cualquier
otra
que
se
nos
ocurra
xDD
35
www.hackxcrack.es
Yo
lo
llame
inicio.
Y
lo
diseamos
de
la
siguiente
manera
acorde
a
nuestros
datos
de
la
bd
Asi:
Nombre
Tipo_Componente
i
JTextField
n
JTextField
a
JTextField
e
JTextField
buscar_ident
JTextField
Mitabla
JTable
5
JButtons
Se
Explica
Solo
no?
Al
crear
toda
nuestra
linda
interfaz
seguimos
haciendo
publicas
todos
los
componentes..Todos
he?
Damos
Clic
Derecho
al
Componente
en
este
ejemplo
a
i
Que
es
un
Jtextfield
nos
vamos
a
propiedades
luego
a
la
pestaa
cdigo
luego
nos
ubicamos
en
modificadores
de
variables
y
escogemos
public
static
Como
en
la
siguiente
imagen
>
Nota:
Un
Acceso
pblico
es
para
Que
desde
Cualquier
parte
de
nuestro
proyecto
podamos
acceder
a
estos
componentes
ya
sea
asignndole
valores
o
extrayendo
valores
de
estos.
36
www.hackxcrack.es
37
www.hackxcrack.es
CODIGO DE LA CLASE eliminar package clases; import javax.swing.JOptionPane; public class eliminar { clases.conexionMySQL bd = new clases.conexionMySQL(); //Denuevo el alias a la conexion obvio hay que llamarla para conectar #D public void eliminar_alumno(String ide){ try{ bd.conectarBaseDeDatos(); bd.sentencia.execute("Delete From alumnos WHERE id= ('"+ide+"')"); //ejecutamos un simple SQL borrando de la tabla alumno donde la ide sea igual a la ide JOptionPane.showMessageDialog(null, "El Alumno Fue Eliminado Correctamente", " .::MENSAJE::.", JOptionPane.INFORMATION_MESSAGE); }catch (Exception e){} } } CODIGO DE LA CLASE ACTUALIZAR package clases; import javax.swing.JOptionPane; public class actualizar { clases.conexionMySQL bd = new clases.conexionMySQL(); public void actualizar_alumno(String elegir_id, String no, String ape, String ed, String dir){ //Estas variables vienen delformulario de inicio pronto las declararemos /D try{ bd.conectarBaseDeDatos(); bd.sentencia.execute("UPDATE alumnos SET nombres='"+no+"',apellidos='"+ape+"',edad='"+ed+"',direccion='"+dir+"' WHERE id= '"+elegir_id+"'"); //hey!! Actualiza los datos donde id sea igual a elegir_id (H) JOptionPane.showMessageDialog(null, "Los Datos Del Alumno Fueron Actualizados Correctamente", " .::MENSAJE::.", JOptionPane.INFORMATION_MESSAGE); }catch (Exception e){} } } Como vemos la estructura de las clases van siendo identicas solo vamos cambiando las instrucciones SQL y algunas nuevas funciones .) CODIGO DE LA CLASE BUSCAR package clases; import javax.swing.JOptionPane; public class buscar { clases.conexionMySQL bd = new clases.conexionMySQL();//Esta linea es la protagonista de la pelicula xD
38
www.hackxcrack.es
public void buscar_alumno(String buscar_id) { try{ bd.conectarBaseDeDatos(); bd.resultado = bd.sentencia.executeQuery( "SELECT * FROM alumnos WHERE id = '"+buscar_id+"'"); if( bd.resultado != null ) { while(bd.resultado.next() ) { proyecto_conexion.inicio.i.setText(""+bd.resultado.getString("id")); proyecto_conexion.inicio.n.setText(""+bd.resultado.getString("nombres")); proyecto_conexion.inicio.a.setText(""+bd.resultado.getString("apellidos")); proyecto_conexion.inicio.e.setText(""+bd.resultado.getString("edad")); proyecto_conexion.inicio.d.setText(""+bd.resultado.getString("direccion")); } } else JOptionPane.showMessageDialog(null,"Ningun dato Encontrado","Mensaje de Informacion",JOptionPane.PLAIN_MESSAGE); }catch (Exception e){} } } Fijar que Aqu buscamos en la tabla alumnos la identificacion que este almacenada en buscar_id y decimos mediante esta cadena if( bd.resultado != null ) { en palabras rusticas si encuentra algo, osea si la consulta no biene vacia null mostramos los datos relacionados con la consulta en los campos de texto proyecto_conexion.inicio.i.setText(""+bd.resultado.getString("id")); vemos que especificamos la ruta proyecto.formulario.componente CODIGO DE LA CLASE MOSTRAR Encargada de cargar los datos de la tabla de Mysql en la Tabla del Programa package clases; public class mostrar { clases.conexionMySQL bd = new clases.conexionMySQL(); //el famoso alias alusivo a la conexion int i=0; //variable i para el control de ciclo while public void mostrar_datos(){ try{ bd.conectarBaseDeDatos(); i=0; bd.resultado = bd.sentencia.executeQuery( "SELECT * FROM alumnos" ); //seleccionamos todos de la tabla alumnos if( bd.resultado != null ) { //si la consulta no biene vacia while(bd.resultado.next() ) {
39
www.hackxcrack.es
proyecto_conexion.inicio.mitabla.setValueAt(""+bd.resultado.getString("id"),i, 0); proyecto_conexion.inicio.mitabla.setValueAt(""+bd.resultado.getString("nombres"),i, 1); proyecto_conexion.inicio.mitabla.setValueAt(""+bd.resultado.getString("apellidos"),i, 2); proyecto_conexion.inicio.mitabla.setValueAt(""+bd.resultado.getString("edad"),i, 3); proyecto_conexion.inicio.mitabla.setValueAt(""+bd.resultado.getString("direccion"),i, 4); //Asignamos los valores de la consulta a la tabla i=i+1; } } }catch (Exception e){} } }
SEGUIREMOS
AHORA
CON
LA
ASIGNACIN
DE
FUNCIONES
A
LOS
BOTONES
DEL
FORMULARIO
DE
INICIO
pero
primeramente
ser
asignar
un
alias
a
las
clases
para
que
estas
puedan
ser
llamadas
desde
el
formulario
junto
a
sus
funciones
asi:
damos
clic
en
el
boton
souce
en
el
formulario
inicio
public
class
inicio
extends
javax.swing.JFrame
{
//Esto
es
para
que
sepas
donde
debes
ubicarte
=)
clases.guardar
guardar=
new
clases.guardar();
clases.buscar
buscar=
new
clases.buscar();
clases.eliminar
eliminar=
new
clases.eliminar();
clases.mostrar
mostrar=
new
clases.mostrar();
clases.actualizar
actualizar=
new
clases.actualizar();
/*Listo
las
tenemos
referenciadas.
Ahora
Ahora
para
Que
Cuando
el
Formulario
Corra
(
Se
Ejecute
)
la
tabla
carge
los
datos
de
la
tabla
de
MYSQL
*/
public
inicio()
{
//Esto
es
para
que
te
guies
Recuerda
que
estamos
en
el
formulario
inicio
initComponents();
mostrar.mostrar_datos();
}
//Declaramos
variables
para
realizar
todas
las
funciones:
//Debajo
de
@SuppressWarnings("unchecked")
String
id;
String
nombres;
String
apellidos;
String
edad;
String
direccion;
String
elegir_id;
40
www.hackxcrack.es
41
www.hackxcrack.es
Aqui termina la conexion con MYSQL, con esto hemos logrado hacer las funciones primordiales de un gran proyecto como lo son guardar,eliminar,actualizar,buscar de seguro ha sido una gran ayuda para todo aquel que quiere iniciarse en java y sacarle el mayor provecho a un lenguaje tan versatil y poderoso como este. Recuerda.. El que AMA lo que hace, aun arrodillado alcanza las estrellas VaNcHoXcHk Gracias.
42
www.hackxcrack.es