我正在 Netbeans 中使用 Maven 创建一个联系人应用程序。对于程序的操作,我希望用户在文件夹 /avatars 中添加和存储图像(联系人头像),并在侦听器事件上访问它们。我可以从 ProjectRoot/src/main/resources/images 目录中访问图像,但无法访问 ProjectRoot/avatars。注意:我不想将头像存储在资源目录中,因为这些将是用户在程序运行时添加的。
我试过使用 getClass().getResource(avatarPath); 正如在类似问题中所建议的那样,但它没有奏效。我还尝试将“avatars”目录作为它自己的资源目录添加到 POM 中,但这也没有奏效。
使用Maven时如何访问项目根目录中的文件/文件夹?
listviewContacts.getSelectionModel().selectedItemProperty().addListener(new ChangeListener<Contact>() {
@Override
public void changed(ObservableValue<? extends Contact> observable, Contact oldValue, Contact newValue) {
String avatar = newValue.getAvatar();
String avatarPath = null;
if (avatar.isEmpty()) {
avatarPath = "/images/" + DEFAULT_AVATAR; // loads from ProjectRoot/src/main/resources/images
} else {
avatarPath = "/avatars/" + avatar; // won't load from ProjectRoot/avatars
}
try {
imageviewContact.setImage(new Image(avatarPath));
} catch (IllegalArgumentException ex) {
System.err.println("Could not locate " + avatarPath);
}
}
});
饮歌长啸
相关分类