Si dices que lo haces bien, cargar, eliminar, etc. Pero cuando lo cierras todo muere es que no estas haciendo un commit.
A que te refieres exactamente con que no sabes combinar el programa con la base, como que te contradices al decirlo y en el parrafo anterior dices que cargas y eliminas productos bien. Si no te estas conectando a ninguna base y lo haces todo en memoria primero debes elegir que base vas a utilizar, supongo que como estás en el estilo open source has de elegir MySql; pues bien, debes bajarte el jdbc para conectar mysql con java y agregarlo al proyecto. Debes de instalar la base de datos que es gratis y algún administrador para diseñar el modelo entidad relación de tu negocio. Si no tienes conocimientos de base de datos se me hace que te estancarás un poquito en esta parte. Debes de tambier aprender un lenguaje llamado sql para poder comunicarte con la base y así sacar los productos almacenados en la misma, hacer actualizaciones e ingresar productos nuevos, de esta manera cuando cierres tu aplicacion los cambios quedarán almacenados en la base. Según tu segundo punto, necesitas hacer algo como un setup. No soy un experto en java, hace años trabaje con Eclipse para el cual con un plugin adicional de Eclipse creo un jar de mi aplicacion. Luego en la pagina
http://www.ej-technologies.com/produ.../overview.html debes descargarte la aplicación install4j que es un wizard el cual te pide el jar y te crea un setup. Este setup es el que lo debes de instalar en cualquier máquina y no tendrás que compilarlo de nuevo. Claro, como sabrás en cada maquina que instales tu aplicación deberás tener el runtime de java corriendo, la maquina virtual.
Si en vez de hacerlo con java lo haces con .net te pudiera ayudar en todas tus labores de conexion y gestión con la base de datos, ya que allí si hablaríamos como en el mismo idioma