<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大夢想家

    5年開發工程師,2年實施經理,X年售前顧問,......
    數據加載中……
    SWT中使用JFreechart(例子)
      1package com.glnpu.dmp.test;
      2
      3import java.awt.Color;
      4import java.awt.Font;
      5import java.awt.Frame;
      6import java.util.Calendar;
      7import java.util.Date;
      8
      9import org.eclipse.jface.window.ApplicationWindow;
     10import org.eclipse.swt.SWT;
     11import org.eclipse.swt.awt.SWT_AWT;
     12import org.eclipse.swt.graphics.Point;
     13import org.eclipse.swt.widgets.Composite;
     14import org.eclipse.swt.widgets.Control;
     15import org.eclipse.swt.widgets.Display;
     16import org.eclipse.swt.widgets.Shell;
     17import org.eclipse.swt.widgets.TabFolder;
     18import org.eclipse.swt.widgets.TabItem;
     19import org.jfree.chart.ChartFactory;
     20import org.jfree.chart.ChartPanel;
     21import org.jfree.chart.JFreeChart;
     22import org.jfree.chart.plot.PiePlot;
     23import org.jfree.chart.title.TextTitle;
     24import org.jfree.data.category.IntervalCategoryDataset;
     25import org.jfree.data.gantt.Task;
     26import org.jfree.data.gantt.TaskSeries;
     27import org.jfree.data.gantt.TaskSeriesCollection;
     28import org.jfree.data.general.DefaultPieDataset;
     29
     30public class Test extends ApplicationWindow {
     31
     32    /**
     33     * Create the application window
     34     */

     35    public Test() {
     36        super(null);
     37        addToolBar(SWT.FLAT | SWT.WRAP);
     38        addMenuBar();
     39        addStatusLine();
     40    }

     41
     42    /**
     43     * Create contents of the application window
     44     * 
     45     * @param parent
     46     */

     47    @Override
     48    protected Control createContents(Composite parent) {
     49        TabFolder tf = new TabFolder(parent, SWT.TOP);
     50        TabItem ti = new TabItem(tf, SWT.NULL);
     51        ti.setText("分類");
     52        Composite composite = new Composite(tf, SWT.NO_BACKGROUND
     53                | SWT.EMBEDDED);
     54        Frame frame = SWT_AWT.new_Frame(composite);
     55        frame.add(new ChartPanel(createBarChart()));
     56        ti.setControl(composite);
     57        TabItem ti1 = new TabItem(tf, SWT.NULL);
     58        ti1.setText("項目組");
     59        Composite composite1 = new Composite(tf, SWT.NO_BACKGROUND
     60                | SWT.EMBEDDED);
     61        Frame frame1 = SWT_AWT.new_Frame(composite1);
     62        frame1.add(new ChartPanel(createGanttChart()));
     63        ti1.setControl(composite1);
     64        tf.setSelection(0);
     65        return tf;
     66    }

     67
     68    /**
     69     * 方法名稱: 內容摘要:
     70     * 
     71     * @return
     72     * @return JFreeChart
     73     * @throws
     74     */

     75    private JFreeChart createGanttChart() {
     76        String title = "Gantt測試";
     77        IntervalCategoryDataset dataset = createSampleDataset();
     78
     79        JFreeChart jfc = ChartFactory.createGanttChart(title, "項目各階段詳細實施計劃",
     80                "項目周期", dataset, falsefalsefalse);
     81
     82        return jfc;
     83    }

     84
     85    /**
     86      * 方法名稱:
     87      * 內容摘要:創建gantt內容
     88      *
     89      * @return
     90      * @return IntervalCategoryDataset
     91      * @throws
     92     */

     93    private IntervalCategoryDataset createSampleDataset() {
     94        TaskSeries s1 = new TaskSeries("日程表");
     95
     96        Task t1 = new Task("項目立項", date(1, Calendar.APRIL, 2001), date(5,
     97                Calendar.APRIL, 2001));
     98        t1.setPercentComplete(1.00);
     99        
    100        Task t2 = new Task("項目立項討論", date(6, Calendar.APRIL, 2001), date(19,
    101                Calendar.APRIL, 2001));
    102        
    103        s1.add(t1);
    104        s1.add(t2);
    105        
    106        
    107        final Task t3 = new Task(
    108                "需求分析"
    109                date(10, Calendar.APRIL, 2001), date(5, Calendar.MAY, 2001)
    110            );
    111            final Task st31 = new Task(
    112                "需求1"
    113                date(10, Calendar.APRIL, 2001), date(25, Calendar.APRIL, 2001)
    114            );
    115            st31.setPercentComplete(1.0);
    116            final Task st32 = new Task(
    117                "需求2"
    118                date(1, Calendar.MAY, 2001), date(5, Calendar.MAY, 2001)
    119            );
    120            st32.setPercentComplete(1.0);
    121            t3.addSubtask(st31);
    122            t3.addSubtask(st32);
    123            s1.add(t3);
    124        
    125        
    126        
    127        final TaskSeriesCollection collection = new TaskSeriesCollection();
    128        collection.add(s1);
    129
    130        return collection;
    131    }

    132
    133    /** */
    134    /**
    135     * Utility method for creating <code>Date</code> objects.
    136     * 
    137     * @param day
    138     *            日
    139     * @param month
    140     *            月
    141     * @param year
    142     *            年
    143     * 
    144     * @return a date.
    145     */

    146    private static Date date(final int day, final int month, final int year) {
    147
    148        final Calendar calendar = Calendar.getInstance();
    149        calendar.set(year, month, day);
    150
    151        final Date result = calendar.getTime();
    152        return result;
    153
    154    }

    155
    156    /**
    157     * 方法名稱: 內容摘要:餅圖測試
    158     * 
    159     * @return
    160     * @return JFreeChart
    161     * @throws
    162     */

    163    private JFreeChart createBarChart() {
    164        String title = "空調2002年市場占有率";
    165        DefaultPieDataset piedata = new DefaultPieDataset();
    166        piedata.setValue("聯想"27.3);
    167        piedata.setValue("長城"12.2);
    168        piedata.setValue("海爾"5.5);
    169        piedata.setValue("美的"17.1);
    170        piedata.setValue("松下"9.0);
    171        piedata.setValue("科龍"19.0);
    172        JFreeChart chart = ChartFactory.createPieChart(title, piedata, true,
    173                truetrue);
    174        chart.setTitle(new TextTitle(title, new Font("隸書", Font.ITALIC, 15)));
    175        chart.addSubtitle(new TextTitle("2002財年分析"new Font("隸書", Font.ITALIC,
    176                12)));
    177        chart.setBackgroundPaint(Color.white);
    178        PiePlot pie = (PiePlot) chart.getPlot();
    179        pie.setBackgroundPaint(Color.white);
    180        pie.setBackgroundAlpha(0.6f);
    181        pie.setForegroundAlpha(0.90f);
    182        return chart;
    183    }

    184
    185    /**
    186     * Launch the application
    187     * 
    188     * @param args
    189     */

    190    public static void main(String args[]) {
    191        try {
    192            Test window = new Test();
    193            window.setBlockOnOpen(true);
    194            window.open();
    195            Display.getCurrent().dispose();
    196        }
     catch (Exception e) {
    197            e.printStackTrace();
    198        }

    199    }

    200
    201    /**
    202     * Configure the shell
    203     * 
    204     * @param newShell
    205     */

    206    @Override
    207    protected void configureShell(Shell newShell) {
    208        super.configureShell(newShell);
    209        newShell.setText("New Application");
    210    }

    211
    212    /**
    213     * Return the initial size of the window
    214     */

    215    @Override
    216    protected Point getInitialSize() {
    217        return new Point(500375);
    218    }

    219
    220}

    221
    核心在:
    Composite composite = new Composite(tf, SWT.NO_BACKGROUND
        | SWT.EMBEDDED);
      Frame frame = SWT_AWT.new_Frame(composite);
    使用SWT_AWT進行橋連接~速度有點慢!

    客戶虐我千百遍,我待客戶如初戀!

    posted on 2007-08-20 15:59 阿南 閱讀(3498) 評論(5)  編輯  收藏 所屬分類: 西安java用戶群 、Eclipse-SWT

    評論

    # re: SWT中使用JFreechart(例子) 2007-08-20 22:59 交口稱贊

    我以前寫過一個view,用在eclipse rcp里面
    可以用來顯示jfc的報表。

      回復  更多評論    

    # re: SWT中使用JFreechart(例子) 2007-08-21 22:12 三告習習

    jfreechart里面有個jar包例子,不過要看源碼的話就要反編譯過來。
    其中有個類是管理其他所有例子的。以前曾經常查看過,記錄了每個之間的不同用法。但不知丟哪去了...
      回復  更多評論    

    # re: SWT中使用JFreechart(例子) 2007-08-21 22:33 阿南

    用我以前推薦的代碼搜索引擎,一個一個都找出來,慢慢看!
      回復  更多評論    

    # re: SWT中使用JFreechart(例子) 2008-07-21 23:43 何敏··

    還看不懂


      回復  更多評論    

    # re: SWT中使用JFreechart(例子)[未登錄] 2012-01-12 10:02 steven

    咋就不能貼個圖呢...樓主
      回復  更多評論    
    主站蜘蛛池模板: 中文字幕亚洲一区二区va在线| 亚洲午夜成激人情在线影院| 十九岁在线观看免费完整版电影| 久久亚洲国产精品成人AV秋霞| 一二三四在线观看免费高清中文在线观看| 精品亚洲成A人在线观看青青| 中文字幕亚洲日本岛国片| 亚洲视频在线观看免费视频| 精品韩国亚洲av无码不卡区| 久久精品国产精品亚洲艾草网| 国产美女在线精品免费观看| 中文字幕免费在线看| 在线观看亚洲AV日韩AV| 亚洲日韩精品A∨片无码| 在线观看免费人成视频| 在线成人精品国产区免费| 国产日本亚洲一区二区三区| 国产成人综合亚洲AV第一页| 97在线线免费观看视频在线观看| 国产福利电影一区二区三区,免费久久久久久久精| 亚洲激情在线观看| 久久久久国产成人精品亚洲午夜 | 亚洲AV无码一区东京热久久| 日美韩电影免费看| 99在线观看精品免费99| 黄网站色视频免费看无下截 | 免费观看久久精彩视频| 国产精品观看在线亚洲人成网| 亚洲精品福利网泷泽萝拉| 亚洲五月午夜免费在线视频| 成年人免费网站在线观看| 免费视频精品一区二区三区| 一级做a爰片久久毛片免费陪 | 有色视频在线观看免费高清在线直播| 亚洲国产情侣一区二区三区| 亚洲一区二区三区无码中文字幕| 免费看a级黄色片| 青青青国产在线观看免费网站| 水蜜桃视频在线观看免费播放高清| 羞羞的视频在线免费观看| 精品亚洲456在线播放|