mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-06 22:10:54 +03:00
UIDefaultsLoader: use class loader from FlatLaf.registerCustomDefaultsSource(String, ClassLoader) also for instantiating classes specified in values
see commit b208017117
This commit is contained in:
@@ -109,6 +109,14 @@ class UIDefaultsLoader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// collect addon class loaders
|
||||||
|
List<ClassLoader> addonClassLoaders = new ArrayList<>();
|
||||||
|
for( FlatDefaultsAddon addon : addons ) {
|
||||||
|
ClassLoader addonClassLoader = addon.getClass().getClassLoader();
|
||||||
|
if( !addonClassLoaders.contains( addonClassLoader ) )
|
||||||
|
addonClassLoaders.add( addonClassLoader );
|
||||||
|
}
|
||||||
|
|
||||||
// load custom properties files (usually provides by applications)
|
// load custom properties files (usually provides by applications)
|
||||||
List<Object> customDefaultsSources = FlatLaf.getCustomDefaultsSources();
|
List<Object> customDefaultsSources = FlatLaf.getCustomDefaultsSources();
|
||||||
int size = (customDefaultsSources != null) ? customDefaultsSources.size() : 0;
|
int size = (customDefaultsSources != null) ? customDefaultsSources.size() : 0;
|
||||||
@@ -119,6 +127,10 @@ class UIDefaultsLoader
|
|||||||
String packageName = (String) source;
|
String packageName = (String) source;
|
||||||
ClassLoader classLoader = (ClassLoader) customDefaultsSources.get( ++i );
|
ClassLoader classLoader = (ClassLoader) customDefaultsSources.get( ++i );
|
||||||
|
|
||||||
|
// use class loader also for instantiating classes specified in values
|
||||||
|
if( classLoader != null && !addonClassLoaders.contains( classLoader ) )
|
||||||
|
addonClassLoaders.add( classLoader );
|
||||||
|
|
||||||
packageName = packageName.replace( '.', '/' );
|
packageName = packageName.replace( '.', '/' );
|
||||||
if( classLoader == null )
|
if( classLoader == null )
|
||||||
classLoader = FlatLaf.class.getClassLoader();
|
classLoader = FlatLaf.class.getClassLoader();
|
||||||
@@ -145,14 +157,6 @@ class UIDefaultsLoader
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// collect addon class loaders
|
|
||||||
List<ClassLoader> addonClassLoaders = new ArrayList<>();
|
|
||||||
for( FlatDefaultsAddon addon : addons ) {
|
|
||||||
ClassLoader addonClassLoader = addon.getClass().getClassLoader();
|
|
||||||
if( !addonClassLoaders.contains( addonClassLoader ) )
|
|
||||||
addonClassLoaders.add( addonClassLoader );
|
|
||||||
}
|
|
||||||
|
|
||||||
// add additional defaults
|
// add additional defaults
|
||||||
if( additionalDefaults != null )
|
if( additionalDefaults != null )
|
||||||
properties.putAll( additionalDefaults );
|
properties.putAll( additionalDefaults );
|
||||||
|
|||||||
Reference in New Issue
Block a user