Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/efrain-svg/Potes_Freddy_ProgInterfacesG_U3/llms.txt

Use this file to discover all available pages before exploring further.

The manual build path compiles source files directly with javac using the JARs already present in the repository’s lib/ directory. No Maven installation and no internet connection are needed. This is the quickest path to get the application running if you already have Java 17.

Prerequisites

Bundled JARs in lib/

FilePurpose
lib/flatlaf-3.6.jarFlatLaf look-and-feel
lib/flatlaf-extras-3.6.jarFlatLaf extras — FlatSVGUtils, SvgIconLoader
lib/jsvg-1.4.0.jarSVG rendering engine (required by flatlaf-extras)
All three JARs must appear on both the compile-time and runtime classpaths.

Build steps

1

Clone the repository and navigate to the project

git clone <repository-url>
In PowerShell:
Set-Location "C:\path\to\Potes_Freddy_ProgInterfacesG_U3"
2

Create the output directory

New-Item -ItemType Directory -Path .\out -Force
The -Force flag prevents an error if out\ already exists.
3

Compile all source packages

javac -cp ".\lib\flatlaf-3.6.jar;.\lib\flatlaf-extras-3.6.jar;.\lib\jsvg-1.4.0.jar" `
      -d .\out `
      .\src\modelo\*.java `
      .\src\controlador\*.java `
      .\src\vista\*.java `
      .\src\vista\charts\*.java `
      .\src\vista\i18n\*.java `
      .\src\vista\theme\*.java
Each source package is listed explicitly. The packages must be compiled in a single javac invocation (or at least modelo before controlador and vista) because they have cross-package dependencies.
On Linux or macOS, replace ; with : in the -cp argument and / for \ in paths.
4

Run the application

java -cp ".\out;.\lib\flatlaf-3.6.jar;.\lib\flatlaf-extras-3.6.jar;.\lib\jsvg-1.4.0.jar" vista.ventana
The classpath includes both .\out (compiled classes) and all three dependency JARs. The entry point is vista.ventana, which contains the main() method.

Resource files

The i18n property files and SVG assets are read at runtime from the classpath. With the manual build these files are not copied to out\ automatically — they are loaded from src\ via a separate classpath entry. To ensure resources are found, add .\src to the runtime classpath:
java -cp ".\out;.\src;.\lib\flatlaf-3.6.jar;.\lib\flatlaf-extras-3.6.jar;.\lib\jsvg-1.4.0.jar" vista.ventana
Resource files that matter at runtime:
Path patternPurpose
src/i18n/messages_es.propertiesSpanish UI strings
src/i18n/messages_en.propertiesEnglish UI strings
src/i18n/messages_pt.propertiesPortuguese UI strings
src/assets/icons/*.svgToolbar and label icons

Complete PowerShell script (from README)

Set-Location "C:\Users\Freddy Potes\IdeaProjects\u1c5_AGC"
if (!(Test-Path .\out)) { New-Item -ItemType Directory -Path .\out | Out-Null }
javac -cp ".\lib\flatlaf-3.6.jar;.\lib\flatlaf-extras-3.6.jar;.\lib\jsvg-1.4.0.jar" -d .\out .\src\modelo\*.java .\src\controlador\*.java .\src\vista\*.java .\src\vista\charts\*.java .\src\vista\i18n\*.java .\src\vista\theme\*.java
java -cp ".\out;.\lib\flatlaf-3.6.jar;.\lib\flatlaf-extras-3.6.jar;.\lib\jsvg-1.4.0.jar" vista.ventana
Copy this block into PowerShell after adjusting the Set-Location path to match your local checkout.

Troubleshooting

The .\out directory is not on the classpath or the compilation failed silently. Verify that .\out\vista\ventana.class exists after the javac step. If it does not, re-run javac and check for compiler errors.
One or more JARs from lib\ are missing from the runtime -cp argument. Ensure all three JARs are listed and the paths are correct relative to your working directory.
Windows uses ; as the classpath separator; Linux and macOS use :. Replace every ; in the -cp value with : when building outside Windows.
java -cp "./out:./lib/flatlaf-3.6.jar:./lib/flatlaf-extras-3.6.jar:./lib/jsvg-1.4.0.jar" vista.ventana
personaDAO writes to the hardcoded path c:/gestionContactos/datosContactos.csv. On non-Windows systems this path is invalid. To fix this, edit src/modelo/personaDAO.java and replace the constructor’s new File("c:/gestionContactos") with a cross-platform path such as new File(System.getProperty("user.home"), "gestionContactos").

Build docs developers (and LLMs) love