私には2つのクラスがあります。MetaDataExtractor(GUI)およびMetaData。
MetaDataには、画像からメタデータを抽出するメソッドがあります。MetaDataExtractorは、JTextPaneにデータを表示するように設計されています。(クラス名を失礼します。少し混乱することはわかっています。私はJavaにかなり慣れていません)。
MetaDataExtractor:
LongitudeField.setText("" + MetaDataTags.getLongitude());
メタデータ:
public String getLongitude() {
try {
Metadata metadata = ImageMetadataReader.readMetadata(jpegFile);
if (metadata.containsDirectory(GpsDirectory.class)) {
GpsDirectory gpsDir = (GpsDirectory) metadata.getDirectory(GpsDirectory.class);
GpsDescriptor gpsDesc = new GpsDescriptor(gpsDir);
String Longitude = "" + gpsDesc.getGpsLongitudeDescription();
}
} catch (ImageProcessingException ex) {
Logger.getLogger(MetaData.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Error 1");
} catch (IOException ex) {
Logger.getLogger(MetaData.class.getName()).log(Level.SEVERE, null, ex);
System.out.println("Error 2");
}
return longitude;
}
JTextPaneに表示する経度を設定すると、「null」が返されます。ただし、コマンドラインで印刷するように設定すると、経度が正しく印刷されますか?
簡単な解決策なら失礼します。私はまだJavaに慣れています。