⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exportertoimage.java

📁 It is all about project scheduling. GanttProject is a tool for creating a project schedule by means
💻 JAVA
字号:
/* * Created on 28.05.2005 */package net.sourceforge.ganttproject.export;import java.awt.image.BufferedImage;import java.awt.image.RenderedImage;import java.io.File;import java.text.MessageFormat;import java.util.Arrays;import javax.imageio.ImageIO;import net.sourceforge.ganttproject.GanttExportSettings;import net.sourceforge.ganttproject.GanttGraphicArea;import net.sourceforge.ganttproject.IGanttProject;import net.sourceforge.ganttproject.chart.Chart;import net.sourceforge.ganttproject.gui.UIFacade;import net.sourceforge.ganttproject.gui.options.model.EnumerationOption;import net.sourceforge.ganttproject.gui.options.model.GPAbstractOption;import net.sourceforge.ganttproject.gui.options.model.GPOption;import net.sourceforge.ganttproject.gui.options.model.GPOptionGroup;import net.sourceforge.ganttproject.language.GanttLanguage;/** * @author bard */public class ExporterToImage implements Exporter {    static class FileTypeOption extends GPAbstractOption implements            EnumerationOption {        static final String[] FILE_FORMAT_ID = new String[] {                "impex.image.fileformat.png", "impex.image.fileformat.jpeg" };        static final String[] FILE_EXTENSION = new String[] { "png", "jpg" };        private String myValue = FILE_FORMAT_ID[0];        FileTypeOption() {            super("impex.image.fileformat");        }        public String[] getAvailableValues() {            return FILE_FORMAT_ID;        }        public void setValue(String value) {            myValue = value;        }        public String getValue() {            return myValue;        }        String proposeFileExtension() {            for (int i = 0; i < FileTypeOption.FILE_FORMAT_ID.length; i++) {                if (myValue.equals(FILE_FORMAT_ID[i])) {                    return FILE_EXTENSION[i];                }            }            throw new IllegalStateException("Selected format=" + myValue                    + " has not been found in known formats:"                    + Arrays.asList(FILE_FORMAT_ID));        }        public String getPersistentValue() {            return null;        }        public void loadPersistentValue(String value) {        }        public boolean isChanged() {            return false;        }    }    private IGanttProject myProject;    private UIFacade myUIFacade;    private FileTypeOption myFileTypeOption = new FileTypeOption();    private GPOptionGroup myOptions = new GPOptionGroup("impex.image",            new GPOption[] { myFileTypeOption });    private Chart myGanttChart;    public ExporterToImage() {        myOptions.setTitled(false);    }    public String getFileTypeDescription() {        return MessageFormat.format(GanttLanguage.getInstance().getText(                "impex.image.description"),                new Object[] { proposeFileExtension() });    }    public GPOptionGroup getOptions() {        return myOptions;    }    public GPOptionGroup[] getSecondaryOptions() {        //return myGanttChart.getOptionGroups();        return null;    }            public String getFileNamePattern() {        return proposeFileExtension();    }    public void setContext(IGanttProject project, UIFacade uiFacade) {        myProject = project;        myUIFacade = uiFacade;        myGanttChart = uiFacade.getGanttChart().createCopy();    }    public void run(File outputFile,ExportFinalizationJob finalizationJob) throws Exception {        Chart chart = myUIFacade.getActiveChart();        if (chart==null) {            chart = myUIFacade.getGanttChart();        }        RenderedImage renderedImage = chart.getRenderedImage(new GanttExportSettings());        ImageIO.write(renderedImage, myFileTypeOption.proposeFileExtension(),                outputFile);        finalizationJob.run(new File[] { outputFile });    }    public String proposeFileExtension() {        return myFileTypeOption.proposeFileExtension();    }    public String[] getFileExtensions() {        return FileTypeOption.FILE_EXTENSION;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -