有人可以提供在IntelliJ项目中使用jfreechart的分步说明 [英] Can someone please provide step-by-step instructions for using jfreechart in an IntelliJ project

查看:743
本文介绍了有人可以提供在IntelliJ项目中使用jfreechart的分步说明的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我无法让JFreeChart在IntelliJ中工作。

I cannot get JFreeChart to work in IntelliJ.

到目前为止我做了什么:


  • 使用Win 7,IntelliJ 13.1.4和Java 1.7

  • 我对IntelliJ相对较新

  • 在IntelliJ中启动了一个新项目,它创建了默认目录root\out和root \src

  • 添加了我自己的目录root \lib

  • 将外部库放在.jar和.zip文件中(jcommon-1.0.23.zip,jfreechart-1.0.19.zip,junit-4.7.jar)

  • 在IntelliJ中,打开项目结构对话框(Ctrl + Alt + Shift + S)

  • 在左侧面板中,选择模块

  • 在中间小组选择了这个项目(唯一存在的东西)

  • 在右侧面板的来源选项卡上,选择src目录

  • 切换到依赖关系标签

  • 单击右侧的绿色+按钮

  • 选择2库... > Java

  • Na专注于root \ lib并选择其中一个.zip / .jar文件

  • 弹出检测到的根对话框 - 我只需点击确定

  • 弹出配置库对话框 - 我给了一个合理的名称并单击确定

  • 该库出现在Dependencies选项卡中,旁边有一个符号,看起来像一些书并且与项目工具窗口中外部库节点旁边的符号相同(所以我猜这是库符号)

  • 重复其他两个库

  • 在项目的源文件中,我尝试输入import org.jfree。*;但是当输入jfree位是红色的时候,当我在该行的末尾点击Enter时,该行消失。

  • 我也尝试输入JFreeChart jFreeChart = new JFreeChart(); 但是JFreeChart是红色的,当我点击它时我没有选择导入;只创建类,接口,枚举等。

  • 顺便说一下,运行jUnit测试工作正常

  • 顺便提一下,外部库节点在项目工具窗口确实显示< 1.7>(即JDK)但不显示jUnit,jCommon或jFreeChart。

  • Using Win 7, IntelliJ 13.1.4 and Java 1.7
  • I am relatively new to IntelliJ
  • Started a new project in IntelliJ which creates the default directories root\out and root\src
  • Added my own directory root\lib
  • Put external libraries in there as .jar and .zip files (jcommon-1.0.23.zip, jfreechart-1.0.19.zip, junit-4.7.jar)
  • In IntelliJ, opened the "Project Structure" dialog (Ctrl+Alt+Shift+S)
  • In the left panel, selected "Modules"
  • In the middle panel selected this project (the only thing that was there)
  • In the right panel, on the "Sources" tab, selected the "src" directory
  • Switched to the "Dependencies" tab
  • Clicked on the green "+" button on the right
  • Selected "2 Library... > Java"
  • Navigated to root\lib and selected one of the .zip / .jar files
  • A "Detected Roots" dialog pops up - I just clicked OK
  • A "Configure Library" dialog pops up - I gave the library a sensible name and clicked OK
  • The library appears in the Dependencies tab with a symbol next to it that looks like some books and is the same symbol as next to the "External Libraries" node in the project tool window (so I'm guessing this is the library symbol)
  • Repeat for the other two libraries
  • In a source file for the project, I have tried typing "import org.jfree.*;" but while typing the "jfree" bit is red and when I hit enter at the end of the line the line disappears.
  • I have also tried typing "JFreeChart jFreeChart = new JFreeChart();" but the JFreeChart is red and when I click on it I don't get the option to import; only create class, interface, enum, etc.
  • Incidentally, running jUnit tests works fine
  • Also incidentally, the "External Libraries" node in the project tool window does show < 1.7 > (i.e. the JDK) but does not show jUnit, jCommon, or jFreeChart.

我看到类似的问题,答案似乎表明我所做的是正确的。我还检查了IntelliJ文档,这也表明我所做的是正确的。但是,它显然不适合我。也许我误解了一些事情。

I have seen similar questions and the answers seem to indicate that what I have done is correct. I have also checked the IntelliJ documentation and that also indicated that what I have done is correct. However, it's clearly not working for me. Maybe I've misunderstood something.

有人能帮助我让JFreeChart工作吗?

Can someone help me to get JFreeChart working please?

谢谢

编辑:jUnit正在运行,但现在却没有。 D'oh!

jUnit was working but now it's not. D'oh!

推荐答案

我之前从未使用过IntelliJ,但我下载了它并立即创建了一个名为 JFreeChartExample 文件 - >新项目。接下来,我点击文件 - >项目结构... 并选择 Libraries 条目,然后点击 + 添加两者 jcommon-1.0.23.jar jfreechart-1.0.19.jar (我在我的本地文件系统上有)解压缩JFreeChart发行版后)。然后在 src / 目录中创建了一个新的Java文件 BarChartDemo.java (见下文)。现在我的项目看起来像这样:

I've never used IntelliJ before, but I downloaded it and immediately created a new project called JFreeChartExample File -> New Project. Next I clicked File -> Project Structure... and selected the Libraries entry then clicked the + to add both jcommon-1.0.23.jar and jfreechart-1.0.19.jar (which I had on my local file system after unzipping the JFreeChart distribution). Then in the src/ directory I created a new Java file BarChartDemo.java (see later). Now my project looks like this:

BarChartDemo1.java如下:

BarChartDemo1.java is as follows:

/* ==================
 * BarChartDemo1.java
 * ==================
 *
 * Copyright (c) 2005-2014, Object Refinery Limited.
 * All rights reserved.
 *
 * http://www.jfree.org/jfreechart/index.html
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *   - Redistributions of source code must retain the above copyright
 *     notice, this list of conditions and the following disclaimer.
 *   - Redistributions in binary form must reproduce the above copyright
 *     notice, this list of conditions and the following disclaimer in the
 *     documentation and/or other materials provided with the distribution.
 *   - Neither the name of the Object Refinery Limited nor the
 *     names of its contributors may be used to endorse or promote products
 *     derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
 * ARE DISCLAIMED. IN NO EVENT SHALL OBJECT REFINERY LIMITED BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * Original Author:  David Gilbert (for Object Refinery Limited);
 * Contributor(s):   -;
 *
 * Changes
 * -------
 * 09-Mar-2005 : Version 1 (DG);
 * 11-Mar-2014 : Use new ChartFactory method (DG);
 * 25-Jun-2014 : Update to use real data (DG);
 * 
 */

import java.awt.Color;
import java.awt.Dimension;

import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.StandardChartTheme;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.block.BlockBorder;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.renderer.category.BarRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

/**
 * A simple demonstration application showing how to create a bar chart.
 */
public class BarChartDemo extends ApplicationFrame {

    private static final long serialVersionUID = 1L;

    static {
        // set a theme using the new shadow generator feature available in
        // 1.0.14 - for backwards compatibility it is not enabled by default
        ChartFactory.setChartTheme(new StandardChartTheme("JFree/Shadow",
                true));
    }

    /**
     * Creates a new demo instance.
     *
     * @param title  the frame title.
     */
    public BarChartDemo(String title) {
        super(title);
        CategoryDataset dataset = createDataset();
        JFreeChart chart = createChart(dataset);
        ChartPanel chartPanel = new ChartPanel(chart, false);
        chartPanel.setBackground(null);
        chartPanel.setFillZoomRectangle(true);
        chartPanel.setMouseWheelEnabled(true);
        chartPanel.setDismissDelay(Integer.MAX_VALUE);
        chartPanel.setPreferredSize(new Dimension(500, 270));
        setContentPane(chartPanel);
    }

    /**
     * Returns a sample dataset.
     *
     * @return The dataset.
     */
    private static CategoryDataset createDataset() {
        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
        dataset.addValue(7445, "JFreeSVG", "Warm-up");
        dataset.addValue(24448, "Batik", "Warm-up");
        dataset.addValue(4297, "JFreeSVG", "Test");
        dataset.addValue(21022, "Batik", "Test");
        return dataset;
    }

    /**
     * Creates a sample chart.
     *
     * @param dataset  the dataset.
     *
     * @return The chart.
     */
    private static JFreeChart createChart(CategoryDataset dataset) {
        JFreeChart chart = ChartFactory.createBarChart(
                "Performance: JFreeSVG vs Batik", null /* x-axis label*/,
                "Milliseconds" /* y-axis label */, dataset);
        chart.addSubtitle(new TextTitle("Time to generate 1000 charts in SVG "
                + "format (lower bars = better performance)"));
        chart.setBackgroundPaint(null);
        CategoryPlot plot = (CategoryPlot) chart.getPlot();
        plot.setBackgroundPaint(null);

        // ******************************************************************
        //  More than 150 demo applications are included with the JFreeChart
        //  Developer Guide...for more information, see:
        //
        //  >   http://www.object-refinery.com/jfreechart/guide.html
        //
        // ******************************************************************

        NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
        rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        BarRenderer renderer = (BarRenderer) plot.getRenderer();
        renderer.setDrawBarOutline(false);
        chart.getLegend().setFrame(BlockBorder.NONE);
        return chart;
    }

    /**
     * Starting point for the demonstration application.
     *
     * @param args  ignored.
     */
    public static void main(String[] args) {
        BarChartDemo demo = new BarChartDemo("JFreeChart: BarChartDemo1.java");
        demo.pack();
        RefineryUtilities.centerFrameOnScreen(demo);
        demo.setVisible(true);
    }

}

我可以右键单击此文件项目运行得到这个:

I can right click this file in the project and run it to get this:

这篇关于有人可以提供在IntelliJ项目中使用jfreechart的分步说明的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆