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

📄 swtcharteditor.java

📁 jfreechart-1.0.12 开发包和文档等
💻 JAVA
字号:
/* =========================================================== * JFreeChart : a free chart library for the Java(tm) platform * =========================================================== * * (C) Copyright 2000-2008, by Object Refinery Limited and Contributors. * * Project Info:  http://www.jfree.org/jfreechart/index.html * * This library is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 2.1 of the License, or * (at your option) any later version. * * This library is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public * License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, * USA. * * [Java is a trademark or registered trademark of Sun Microsystems, Inc. * in the United States and other countries.] * * ------------------- * SWTChartEditor.java * ------------------- * (C) Copyright 2006-2008, by Henry Proudhon and Contributors. * * Original Author:  Henry Proudhon (henry.proudhon AT ensmp.fr); * Contributor(s):   David Gilbert (for Object Refinery Limited); * * Changes * ------- * 01-Aug-2006 : New class (HP); * 18-Dec-2008 : Use ResourceBundleWrapper - see patch 1607918 by *               Jess Thrysoee (DG); * */package org.jfree.experimental.chart.swt.editor;import java.util.ResourceBundle;import org.eclipse.swt.SWT;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.swt.layout.FillLayout;import org.eclipse.swt.layout.GridData;import org.eclipse.swt.layout.GridLayout;import org.eclipse.swt.widgets.Button;import org.eclipse.swt.widgets.Composite;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;import org.eclipse.swt.widgets.TabFolder;import org.eclipse.swt.widgets.TabItem;import org.jfree.chart.JFreeChart;import org.jfree.chart.editor.ChartEditor;import org.jfree.chart.util.ResourceBundleWrapper;/** * An editor for chart properties. */public class SWTChartEditor implements ChartEditor {    /** The shell */    private Shell shell;    /** The chart which the properties have to be edited */    private JFreeChart chart;    /** A composite for displaying/editing the properties of the title. */    private SWTTitleEditor titleEditor;    /** A composite for displaying/editing the properties of the plot. */    private SWTPlotEditor plotEditor;    /** A composite for displaying/editing the other properties of the chart. */    private SWTOtherEditor otherEditor;    /** The resourceBundle for the localization. */    protected static ResourceBundle localizationResources            = ResourceBundleWrapper.getBundle(                    "org.jfree.chart.editor.LocalizationBundle");    /**     * Creates a new editor.     *     * @param display  the display.     * @param chart2edit  the chart to edit.     */    public SWTChartEditor(Display display, JFreeChart chart2edit) {        this.shell = new Shell(display, SWT.DIALOG_TRIM);        this.shell.setSize(400, 500);        this.chart = chart2edit;        this.shell.setText(ResourceBundleWrapper.getBundle(                "org.jfree.chart.LocalizationBundle").getString(                        "Chart_Properties"));        GridLayout layout = new GridLayout(2, true);        layout.marginLeft = layout.marginTop = layout.marginRight                = layout.marginBottom = 5;        this.shell.setLayout(layout);        Composite main = new Composite(this.shell, SWT.NONE);        main.setLayout(new FillLayout());        main.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1));        TabFolder tab = new TabFolder(main, SWT.BORDER);        // build first tab        TabItem item1 = new TabItem(tab, SWT.NONE);        item1.setText(" " + localizationResources.getString("Title") + " ");        this.titleEditor = new SWTTitleEditor(tab, SWT.NONE,                this.chart.getTitle());        item1.setControl(this.titleEditor);        // build second tab        TabItem item2 = new TabItem(tab, SWT.NONE);        item2.setText(" " + localizationResources.getString("Plot") + " ");        this.plotEditor = new SWTPlotEditor(tab, SWT.NONE,                this.chart.getPlot());        item2.setControl(this.plotEditor);        // build the third tab        TabItem item3 = new TabItem(tab, SWT.NONE);        item3.setText(" " + localizationResources.getString("Other") + " ");        this.otherEditor = new SWTOtherEditor(tab, SWT.NONE, this.chart);        item3.setControl(this.otherEditor);        // ok and cancel buttons        Button ok = new Button(this.shell, SWT.PUSH | SWT.OK);        ok.setText(" Ok ");        ok.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));        ok.addSelectionListener(new SelectionAdapter() {            public void widgetSelected(SelectionEvent e) {                updateChart(SWTChartEditor.this.chart);                SWTChartEditor.this.shell.dispose();            }        });        Button cancel = new Button(this.shell, SWT.PUSH);        cancel.setText(" Cancel ");        cancel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false));        cancel.addSelectionListener(new SelectionAdapter() {            public void widgetSelected(SelectionEvent e) {                SWTChartEditor.this.shell.dispose();            }        });    }    /**     * Opens the editor.     */    public void open() {        this.shell.open();        this.shell.layout();        while (!this.shell.isDisposed()) {            if (!this.shell.getDisplay().readAndDispatch()) {                this.shell.getDisplay().sleep();            }        }    }    /**     * Updates the chart properties.     *     * @param chart  the chart.     */    public void updateChart(JFreeChart chart)    {        this.titleEditor.setTitleProperties(chart);        this.plotEditor.updatePlotProperties(chart.getPlot());        this.otherEditor.updateChartProperties(chart);    }}

⌨️ 快捷键说明

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