JKonta es un Sistema o Aplicacion de Escritorio donde puedes llevar el control de tus Ingresos y Gastos e imprimir reportes desarrollado con Netbeans, Java y MySQL.
El programa JKonta lo puedes importar al NetBeans y modificarlo de acuerdo a tus necesidades.

Requisitos
- NetBeans IDE
- Java 21, Swing (interfaz construida con el Form Editor de NetBeans)
- MySQL vía JDBC plano (
mysql-connector-j) - Apache PDFBox para la generación de reportes
- Maven
Componentes
Los componentes con los que cuenta el sistema JKonta son los siguientes:
- Boton Nuevo Ingreso: Abre una ventana para dar de alta ingresos
- Boton Nuevo Gasto:Abre una Ventana para agregar gastos
- Opcion Descargar Reporte: Genera y descarga un reporte con todos los ingresos y gastos en formato PDF
- Etiqueta Total de ingresos: Muestra el total de ingresos registrados
- La etiqueta Total de gastos: Muestra el total de Gastos o Egresos Realizados
- Balance: Esta etiqueta muestra la diferencia Ingresos-Gastos para generar el balance de la cuenta
- Tabla de operaciones: Muestra fecha, concepto tipo de operacion y monto.
Archivos del Proyecto
Aqui te explico lo que hace cada archivo del proyecto.
| Archivo | Qué hace |
|---|---|
MainJFrame.java | Ventana principal: botones de alta, tabla de operaciones con estilos, cálculo de totales, borrado por clic derecho/Supr, dispara el diálogo de alta y el reporte PDF. |
NewOperationDialog.java | Diálogo modal para registrar un ingreso o gasto: combo de concepto (crea uno nuevo si no existe) y campo de monto, con validación. |
ReportGenerator.java | Genera el PDF del reporte con PDFBox: totales, tabla de operaciones, paginación automática. |
DBConnection.java | Carga db.properties y entrega conexiones JDBC. |
ProductDAO.java | CRUD sobre la tabla product (conceptos): crear, buscar por id, listar, actualizar, eliminar. |
OperationDAO.java | CRUD sobre la tabla operation (movimientos), más findByProduct. |
Product.java | POJO que mapea la tabla product. |
Operation.java | POJO que mapea la tabla operation. |
OperationKind.java | Enum IN/OUT en lugar de los códigos crudos 1/2 de la columna kind. |
Base de datos
El esquema de la base de datos (archivo schema.sql) contiene las 2 tablas necesarias para el registro de ingresos y gastos y conceptos.
create database jkonta; use jkonta; create table product( id int not null auto_increment primary key, code varchar(255), name varchar(255), description text, price float, created_at datetime ); create table operation( id int not null auto_increment primary key, q float, product_id int,/*1. in, 2. out*/ kind int,/*1. in, 2. out*/ created_at datetime, foreign key (product_id) references product(id) on delete cascade );
Descargar
A continuacion los enlaces de descarga y del proyecto JKonta en GitHub.
Para ejecutar el proyecto debes realizar lo siguiente:
- Descargar el proyecto
- Importarlo desde el NetBeans
- Instalar la base de datos en MySQL
- Modificar el archivo
src/main/resources/db.propertiescon tu host/usuario/contraseña de MySQL. - Ejecutar el proyecto en NetBeans
Más Recursos
- Guia de Desarrollo en Java y NetBeans
- Conectar NetBeans, Java y Mysql 2026
- Jinventio: Sistema de Inventario y Ventas con Java MySQL
- Ejemplo de Patron DAO CRUD Completo Java MySQL
- Conectar Java y Sqlite en Netbeans
- Llenar datos manualmente en un JTable en Java MySQl y NetBeans
- Usar el componente jCombobox en Java Swing y NetBeans
- Usar Menu Bar, Menu y Menu Item en Java