Como crear una aplicación de escritorio con Netbeans

Este artículo fue tomado del blog de Edison http://www.edisoncor.org/

Como crear una aplicación de escritorio con Netbeans

Hola amigos algunos alumnos me preguntaron cual es la mejjor forma de crear una aplicaion de escritorio, y decicdi crear este post para que sea una guia lo primero que vamos a rea lizar es crear un nuevo proyecto y seleccionamos “java Desktop Apclication”

Luego pasomos a la siguiente ventana del asistente donde le damos un nombre a nuestro proyecto y seleccionamos el tipo de aplicacion ya sea una aplicación básica o una aplicacón de base de datos, para casaos de este ejemplo delecciono “Basic Application”

A continuación Netbeans crea automaticamente las clases necesarias para la aplicación asis como los correspondientes resources que vamos a utilizar en la aplicación

el siguiente paso vamos a las propiedades de nuestro proyecto

A continuación seleccionamos la opción Application donde vamos a editar la información básica de la aplicacion

luego vamos a la opción desktop App donde vamos a editar la información de la aplicaion y donde vamos a seleccionar el Look and feel en este caso utilizo Nimbus com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel (Para utliza Nimbus tu tienes que tener installado el jdk se update 10 caso contrario no podras utilizar Nimbus lo cual lo puedes descargar de la pagina de Sun) luego presionamos Ok


Ahora podemos ejecutar(F6) nuestra aplicación la cual se vera de la siguiente forma

Donde nosotros podemos ingresar al About de la aplicación y ya tenenmos inclusive la información que editamos en propiedades del proyecto

A continuacion vamos a crear un dialogo para nuestra aplicación

Luego creamos la interface, utilizo varios componentes básicos

Luego abro Demoview, y en la barra de Menu añado un Jmenu y dentro de este un JmenuItem

dando clic derecho sobre el JmenuItem selecciona la opción “Set Action”

Aqui vamos a seleccionar en Action “Create New Action”, luego escogemos “Application : emo.DemoAPP” para Action’s class, damos un nombre a nuestra accion en Actio’s method “DemoAction” editamos el Texto, el tooltip y el acelerador de teclado, adicionalmente puedes selecionar iconos para la accion

Luego en la clase DemoApp se creo un metodo el cual lo vamos a completar para que quede asi

Lugo al ejecutar la aplicación y presionar dentro de esta Crtl+M (Acelerador para nuestro Dialog0) se muestra

y listo tenemos nuestra aplicaion un paso final ahora vamos a ponerle un SplashScreen a nuestra aplicación , en el navegador de proyectos damos clic sobre files y abrimos el archivo manifest.mf el cual debe quedar asi: (El splash es la imagen que por defecto esta en nuestra aplicación tu puedes editarla

Lo que nos queda es construir la aplicacion que lo realizamos presionando Shift+F11 el cual creara una carpeta dist dentro de nuestro proyecto y dentro de la cual esta demo.jar la cual ya la podemos ejecutar

Tutoriales de Estructura de Datos

A continuación dejo dos links hacia tutoriales que nos ayudarán en el aprendizaje de Estructura de Datos:

http://sistemas.itlp.edu.mx/tutoriales/estructdatos2/


http://sistemas.itlp.edu.mx/tutoriales/estru1/

CREACION DE OBJETOS EN GAMBAS

Crear un nuevo de proyecto de consola en Gambas
Crear dos Clases con los siguientes nombres:

1.- SerVivo
2.- Hombre

******************
Clase SerVivo
******************
' Gambas class file
PRIVATE patas AS Integer
PRIVATE nacimiento AS Integer

PUBLIC SUB nacido(fecha AS Date)
nacimiento = Year(fecha)
END

PUBLIC SUB PonePatas(numero AS Integer)
Patas = numero
END

PUBLIC FUNCTION edad() AS Integer
RETURN Year(Now) - nacimiento
END

PUBLIC FUNCTION dicePatas() AS Integer
RETURN patas
END


*****************
Clase Hombre
*****************
' Gambas class file
INHERITS SeresVivos
PRIVATE Nombre AS String
PRIVATE Apellido AS String

PUBLIC SUB PoneNombre(cadena AS String)
Nombre = cadena
END

PUBLIC SUB PoneApellido(cadena AS String)
Apellido = cadena
END

PUBLIC FUNCTION Nombrecompleto() AS String
RETURN Nombre & " " & Apellido
END


*******************
modulo
******************
' Gambas module file
PUBLIC SUB Main()
DIM mono AS SeresVivos
DIM persona AS Hombre
‘*******************************
mono = NEW SeresVivos
mono.nacido(CDate("2/2/1992"))
mono.PonePatas(3)
PRINT mono.edad()
PRINT mono.dicePatas()
‘********************************
persona = NEW Hombre
persona.nacido(CDate("2/18/1969"))
persona.PoneNombre("Vicente")
persona.PoneApellido("Perez")
PRINT persona.edad()
PRINT persona.Nombrecompleto()
END

*****************
FIN
***************

Código de Conexión

Este es el código de conexión para enlazar la base de datos de MySQL:
Debemos crear un modulo con el nombre MODULO y en este colocar lo siguiente:


' Gambas module file

' declaracion de variables
PUBLIC cn AS NEW Connection
PUBLIC rs AS Result


PUBLIC SUB conectar()
' WITH MODULO.cn
cn.CLOSE
cn.Type = "mysql"
cn.host = "localhost" '===> 192.168.1.11
cn.login = "root"
cn.Port = "3306"
cn.password = "root"
cn.name = "tia"

TRY cn.open
IF ERROR THEN
Message.Error("Error al Abrir Base de Datos")
ELSE
Message.Info("Ingresando a Base de Datos")
ENDIF

END

CODIGO APLICACION TIA

A continuación se muestra un pequeño ejemplo de la utilización de Gambas y Mysql.
Es necesario que ud., Tenga creada la base de datos y las tablas correpondientes.

Para esta aplicación es necesario crear la siguiente interface.. Los nombres de los controles pueden cambiar de acuerdo a las necesidades de cada uno de uds.





'AQUI EL CODIGO DE LA APLICACION EN SUS DISTINTOS CONTROLES
' Gambas class file
'Declaracion de varianles a nivel del formulario
PUBLIC con AS Integer
PUBLIC fil AS Integer
PUBLIC col AS Integer

PUBLIC SUB Form_Open() 'CODIDO FORMULARIO EN EVENTO Form_Open
'proceso conectar
Modulo.conectar
' consulta de productos
Modulo.rs = modulo.cn.Exec("select * from producto")
mostrar()

Button1.Enabled = TRUE
Button2.Enabled = FALSE
Button3.Enabled = FALSE
Button4.Enabled = FALSE
Button6.Enabled = TRUE
Button7.Enabled = TRUE


END



PUBLIC SUB Button2_Click() 'CODIGO PARA GUARDAR REGISTROS

TRY Modulo.cn.Exec("insert into producto values('" & Trim(UCase(TextBox1.Text)) & "','" & Trim(UCase(TextBox2.Text)) & "','" & (TextBox3.Text) & "','" & (ValueBox2.Text) & "');")
IF ERROR THEN
Message.Error("Imposible insertar el registro")
ELSE
Message.Info("Registro insertado")
END IF
Modulo.rs = Modulo.cn.Exec("Select * from producto")
mostrar()
END

PUBLIC SUB mostrar() ' CODIGO PROCEDIMIENTO CONSULTA GENERAL EN GRID1
Modulo.rs.MoveFirst
IF Modulo.rs.Count > 0 THEN
Grid1.Columns.Count = 4
Grid1.Rows.Count = Modulo.rs.Count + 1
Grid1.Columns[0].Width = 60
Grid1.Columns[1].Width = 280
Grid1.Columns[2].Width = 80
Grid1.Columns[3].Width = 80
'encabezado
Grid1[0, 0].Text = "CODIGO"
Grid1[0, 1].Text = "DETALLE"
Grid1[0, 2].Text = "CANTIDAD"
Grid1[0, 3].Text = "PRECIO UNITARIO"
fil = 1
Modulo.rs.MoveFirst
'con = Modulo.rs.Count
DO WHILE Modulo.rs.Available
Grid1[fil, 0].Text = Modulo.rs["codigo"]
Grid1[fil, 1].Text = Modulo.rs["nombre"]
Grid1[fil, 2].Text = Modulo.rs["precio"]
Grid1[fil, 3].Text = Modulo.rs["cantidad"]
fil = fil + 1
Modulo.rs.MoveNext()
LOOP
ENDIF
END

PUBLIC SUB Button6_Click() 'CODIGO PARA BOTON SALIR

ME.Close

END

PUBLIC SUB Button3_Click() ' CODIGO PARA ELIMINAR REGISTROS

SELECT Message.Question("Desea eliminar un Producto", "Si", "No")
CASE 1
TRY Modulo.cn.Exec("Delete from producto where codigo='" & Trim(UCase(TextBox1.Text)) & "'")
IF ERROR THEN
Message.Error("Imposible borrar el registro")
ELSE
Modulo.rs = Modulo.cn.Exec("select * from producto")
mostrar()

END IF
CASE 2
Message.Info("Registro no eliminado")
CASE 3
END SELECT
limpiar()

END

PUBLIC SUB Button7_Click() 'CODIGO PARA BUSCAR REGISTROS
DIM ban AS Integer
Modulo.rs = Modulo.cn.Exec("select * from producto")
DO WHILE Modulo.rs.Available

IF modulo.rs["codigo"] = Trim(UCase(TextBox1.Text)) THEN
Modulo.rs = Modulo.cn.Exec("select * from producto where codigo = '" & Trim(UCase(TextBox1.Text)) & "'")
TextBox2.Text = Modulo.rs["nombre"]
TextBox3.Text = Modulo.rs["precio"]
ValueBox2.Value = Modulo.rs["cantidad"]
ban = 1
ENDIF
MODULO.rs.MoveNext()
LOOP
IF ban = 0 THEN
Message.Error("Registro Invalido")
limpiar()
END IF

END

PUBLIC SUB limpiar() ' CODIGO QUE LIMPIA LOS CUADROS DE TEXTO

TextBox1.Clear
TextBox2.Clear
TextBox3.Clear
TextBox3.Text = 0
ValueBox2.Clear

END

PUBLIC SUB Grid1_DblClick() ' CODIGO PARA ELIMINAR REGISTROS DESDE EL GRIDVIEW

IF Grid1.Current = NULL THEN RETURN
SELECT Message.Question("Desea eliminar un Producto", "Si", "No", "Ayuda")
CASE 1
TRY Modulo.cn.Exec("Delete from producto where codigo='" & Trim(UCase(Grid1.Current.Text)) & "'")
IF ERROR THEN
Message.Error("Imposible borrar el registro")
ELSE
Modulo.rs = Modulo.cn.Exec("select * from producto")
mostrar()

END IF
CASE 2
Message.Info("Registro no eliminado")
END SELECT


END


PUBLIC SUB Button4_Click() 'CODIGO PARA ACTUALIZAR REGISTROS

TRY Modulo.cn.Exec("update producto set nombre='" & Trim(UCase(TextBox2.Text)) & "',precio='" & Trim(UCase(TextBox3.Text)) & "',cantidad='" & Trim(UCase(ValueBox2.Text)) & "' where codigo = '" & Trim(UCase(Textbox1.text)) & "'")
IF ERROR THEN
Message.Error("Imposible actualizar el registro")
ELSE
Message.Info("Registro actualizado")
END IF

mostrar
LIMPIAR()

END

PUBLIC SUB Button1_Click() 'CODIGO PARA CREAR NUEVOS REGISTROS
IF Button1.Caption = "NUEVO" THEN
Button1.Enabled = TRUE
Button2.Enabled = TRUE
Button3.Enabled = FALSE
Button4.Enabled = FALSE
Button6.Enabled = FALSE
Button7.Enabled = FALSE
Button1.Caption = "CANCELAR"
ELSE
Button1.Enabled = TRUE
Button2.Enabled = FALSE
Button3.Enabled = FALSE
Button4.Enabled = FALSE
Button6.Enabled = TRUE
Button7.Enabled = TRUE
Button1.Caption = "NUEVO"
TextBox1.Clear
TextBox2.Clear
TextBox3.Clear
ValueBox2.Clear
ENDIF

END

PUBLIC SUB TextBox1_KeyPress() 'CODIGO PARA VALIDAR EL INGRESO E DATOS

IF Key.Code = 65293 THEN
IF TextBox1.Text = "" THEN
Message.Info("Ingrese Código de Producto")
TextBox1.SetFocus
ELSE
TextBox2.setfocus
ENDIF
ENDIF
END

PUBLIC SUB TextBox2_KeyPress() 'CODIGO PARA VALIDAR ENTRADA DE DATOS

IF Key.Code = 65293 THEN
IF TextBox1.Text = "" THEN
Message.Info("Ingrese Nombre de ProductO...")
TextBox2.SetFocus
ELSE
TextBox3.setfocus
ENDIF
ENDIF


END

Manual de MySql

Manual de MySql

BIENVENIDOS

GAMBAS
PROGRAMACIÓN CON SOFTWARE LIBRE





















Descarga de Manual

Capítulo 1
Capítulo 2
Capítulo 3
Capítulo 4
Capítulo 5
Capítulo 6
Capítulo 7
Capítulo 8
Capítulo 9