所以我有一个包含扩展JPanel的类的包,我希望动态添加它们作为标签.一开始我使用了一个工厂,我在其中注册了所有的类并且它有效,但是现在我想要加载包中的所有类而不知道它们的名字.我尝试了几件事,包括Reflections库(我觉得很困惑),我无法让它们工作.我感谢任何帮助.
这是我的一个试验:
public static void registerTab() {
String pkg = TabA.class.getPackage().getName();
String relPath = pkg.replace('.', '/');
URL resource = ClassLoader.getSystemClassLoader().getResource(relPath);
if (resource == null) {
throw new RuntimeException("Unexpected problem: No resource for "
+ relPath);
}
File f = new File(resource.getPath());
String[] files = f.list();
for (int i = 0; i < files.length; i++) {
String fileName = files[i];
String className = null;
String fileNm = null;
if (fileName.endsWith(".class")) {
fileNm = fileName.substring(0, fileName.length() - 6);
className = …Run Code Online (Sandbox Code Playgroud)