Various Small Updates To PNG Chart Export

- Creates PNG file filter
- Adds new file filter to translation file
- Makes Exported Chart's Width & Height as it is displayed
- Changes Button From Print Icon to "Save As Image" text
This commit is contained in:
Remington Holder 2022-03-20 20:38:20 -04:00
parent d846094151
commit c73a41071a
3 changed files with 11 additions and 5 deletions

View File

@ -96,6 +96,7 @@ FileHelper.ALL_DESIGNS_FILTER = All rocket designs (*.ork; *.rkt)
FileHelper.OPENROCKET_DESIGN_FILTER = OpenRocket designs (*.ork)
FileHelper.ROCKSIM_DESIGN_FILTER = RockSim designs (*.rkt)
FileHelper.OPEN_ROCKET_COMPONENT_FILTER = OpenRocket presets (*.orc)
FileHelper.PNG_FILTER = PNG image (*.png)
FileHelper.IMAGES = Image files

View File

@ -117,11 +117,11 @@ public class SimulationPlotDialog extends JDialog {
panel.add(button, "gapleft rel");
//// Print chart button
button = new SelectColorButton(Icons.FILE_PRINT);
button = new SelectColorButton("Save As Image");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
doPngExport(jChart);
doPngExport(chartPanel,jChart);
}
});
panel.add(button, "gapleft rel");
@ -165,9 +165,10 @@ public class SimulationPlotDialog extends JDialog {
GUIUtil.rememberWindowSize(this);
}
private boolean doPngExport(JFreeChart chart){
private boolean doPngExport(ChartPanel chartPanel, JFreeChart chart){
JFileChooser chooser = new JFileChooser();
chooser.setFileFilter(FileHelper.getImageFileFilter());
chooser.setAcceptAllFileFilterUsed(false);
chooser.setFileFilter(FileHelper.PNG_FILTER);
chooser.setCurrentDirectory(((SwingPreferences) Application.getPreferences()).getDefaultDirectory());
/* Ensures No Problems When Choosing File */
@ -185,7 +186,7 @@ public class SimulationPlotDialog extends JDialog {
/* Uses JFreeChart Built In PNG Export Method */
try{
ChartUtilities.saveChartAsPNG(file, chart, 1000, 500);
ChartUtilities.saveChartAsPNG(file, chart, chartPanel.getWidth(), chartPanel.getHeight());
} catch(Exception e){
return false;
}

View File

@ -56,6 +56,10 @@ public final class FileHelper {
public static final FileFilter CSV_FILTER =
new SimpleFileFilter(trans.get("FileHelper.CSV_FILTER"), ".csv");
/** File filter for PNG files (*.png) */
public static final FileFilter PNG_FILTER =
new SimpleFileFilter(trans.get("FileHelper.PNG_FILTER"), ".png");