设置字段文本,Java

时间:2012-06-05 14:47:26

标签: user-interface jtextpane

我有两节课。 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。

1 个答案:

答案 0 :(得分:0)

Java区分大小写,首先在try& amp;抓住声明。

使用像Eclipse这样的IDE来减少这些语法错误。

所以你应该:

public String getLongitude() {
    String longitudeDesc ="";
    try {
        Metadata metadata = ImageMetadataReader.readMetadata(jpegFile);
        if (metadata.containsDirectory(GpsDirectory.class)) {
            GpsDirectory gpsDir = (GpsDirectory) metadata.getDirectory(GpsDirectory.class);
            GpsDescriptor gpsDesc = new GpsDescriptor(gpsDir);
            longitudeDesc = "" + 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 longitudeDesc ;
}