Salve, sto creando un programma dove (tra le tante cose) si da la possibila all'utente di cambiare url, nome e password relativi alla connessione del database.
In una classe ottengo i valori che vengono salvati in un file.properties e fino a qui tutto ok. Il problema nasce quando sono nella classe relativa alla connesione del batabase. La colpa non è del metodo OutProp (che va a prendere i dati nel file properties) perchè l'ho provato in un'altra classe e funziona perfettamente. Quindi credo ci sia un problema di scrittura codice forse nel metodo public static Connection ConnectDb() perchè essendo statico ci si deve comportare in modo diverso e dato che ho iniziato da poco a studiare il Java penso mi sia sfuggito qualcosa.

ps. Scrivendo Connection conn = DriverManager.getConnection ("jdbc:mysql://localhost/databaseprogetto/root/root"); si connette perfettamente al server.

Vi ringrazio per ogni tipo di suggerimento o soluzione e spero di essermi spiegato bene.

codice:
import java.io.FileInputStream;
import java.sql.*;
import javax.swing.*;
import java.io.IOException;
import java.util.Properties;

public class JavaConnect {
  
    Connection conn = null;
    static String url_database;
    static String username;
    static String password;

    public void OutProp (){
                
    Properties prop = new Properties();
               
        try {   
    		prop.load(new FileInputStream("config.properties"));
                
                url_database = prop.getProperty("Url");
                username = prop.getProperty("Username");
                password = prop.getProperty("Password");
                
 
    	} catch (IOException ex) {
    		ex.printStackTrace();
        }
    }
       
       
    public static Connection ConnectDb(){
                                                  
        try{         
            Class.forName ("com.mysql.jdbc.Driver");
            Connection conn = DriverManager.getConnection (url_database,username,password);
            
            return conn;
        }
        catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Connessione database fallita.");
            return null;
        }
    }
}