2017-04-13 89 views
0

这里就是我的图像保存.png文件扩展名的片段:我怎样才能让我的.png格式的默认文件扩展名在Java

WritableImage img = rectCanvas.snapshot(new SnapshotParameters(), null); 
     JFileChooser chooser = new JFileChooser(); 
     chooser.setCurrentDirectory(new File(System.getProperty("user.home"))); 
     int result = chooser.showSaveDialog(null); 
     if (result == JFileChooser.APPROVE_OPTION) { 
      try { 
     File fileToSave = chooser.getSelectedFile(); 
       ImageIO.write(SwingFXUtils.fromFXImage(img, null), "png", fileToSave); 
      } catch (IOException ex) { 
       Logger.getLogger(GuiClass.class.getName()).log(Level.SEVERE, null, ex); 
      } 
     } 

我想巴纽是我的默认文件扩展名。但是,当我想将图像保存到文件并打开保存对话框时,我必须按以下格式输入文件名:filename.png。我怎样才能摆脱.png部分,并使其成为默认?

+3

什么是文件的扩展名,你当你调用'chooser.getSelectedFile()'获得? –

+0

当我看到保存文件的属性时,我会看到.file。回答这个问题,或者我的问题出错了吗? – melar

+1

@melar你打开一个文件选择器。你用这个文件选择器做什么?你输入一个新的文件名?如果是这样,你输入什么?你选择一个现有的文件?如果是这样,它的名字和扩展名是什么? –

回答

2

你将什么设置为“fileToSave”的值?如果那不是.png,它不应该是一个PNG扩展名。

请参阅从Oracle的文档以下:

try { 
    // retrieve image 
    BufferedImage bi = getMyImage(); 
    File outputfile = new File("saved.png"); 
    ImageIO.write(bi, "png", outputfile); 
} catch (IOException e) { 
    ... 
} 
+0

现在解决了我的问题与您的提示!谢谢! – melar

相关问题