Source code: com/arranger/jarl/ui/ExportButtonListener.java
1 package com.arranger.jarl.ui;
2
3 import com.arranger.jarl.util.StringTools;
4 import com.arranger.jarl.util.IOUtil;
5
6 import javax.swing.*;
7 import java.awt.event.ActionListener;
8 import java.awt.event.ActionEvent;
9 import java.io.File;
10
11 /**
12 * ExportButtonListener created on Apr 15, 2003
13 */
14 class ExportButtonListener implements ActionListener {
15
16 protected File m_currentDir;
17 private MainPanel m_mainPanel;
18
19 public ExportButtonListener(MainPanel mainPanel) {
20 m_mainPanel = mainPanel;
21 }
22
23 public void actionPerformed(ActionEvent e) {
24
25 JFileChooser jFileChooser = new JFileChooser();
26 ExampleFileFilter filter = new ExampleFileFilter();
27 filter.addExtension("bmp");
28 filter.setDescription("jarl bitmap images");
29 jFileChooser.setFileFilter(filter);
30
31 if (m_currentDir != null) {
32 jFileChooser.setCurrentDirectory(m_currentDir);
33 } else {
34 String exportDir = m_mainPanel.m_preferences.getProperty("export.dir");
35 if (!StringTools.isEmpty(exportDir)) {
36 m_currentDir = new File(exportDir);
37 jFileChooser.setCurrentDirectory(m_currentDir);
38 }
39 }
40
41 if (jFileChooser.showSaveDialog(m_mainPanel) == JFileChooser.APPROVE_OPTION) {
42 m_currentDir = jFileChooser.getCurrentDirectory();
43 m_mainPanel.m_preferences.setProperty("export.dir", m_currentDir.getAbsolutePath());
44 m_mainPanel.m_prefManager.storePreferences(m_mainPanel.m_preferences);
45 String destFile = jFileChooser.getSelectedFile().getAbsolutePath();
46 if (!destFile.endsWith(".bmp")) {
47 destFile += ".bmp";
48 }
49
50 File dest = new File(destFile);
51 IOUtil.save(m_mainPanel.m_renderedImage, dest);
52 }
53 }
54 }