有人可以提供在IntelliJ项目中使用jfreechart的分步说明

时间:2014-09-24 10:25:29

标签: intellij-idea jfreechart

我无法让JFreeChart在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”
  • 导航到root \ lib并选择其中一个.zip / .jar文件
  • 弹出“Detected Roots”对话框 - 我只需点击OK
  • 弹出“配置库”对话框 - 我给了一个合理的名称,然后单击确定
  • 该库出现在Dependencies选项卡中,旁边有一个符号,看起来像是一些书籍,并且与项目工具窗口中“External Libraries”节点旁边的符号相同(所以我猜这是图书馆符号)
  • 重复其他两个库
  • 在项目的源文件中,我尝试输入“import org.jfree。*;”但是当输入“jfree”位时为红色,当我在该行的末尾点击输入时,该行消失。
  • 我也尝试输入“JFreeChart jFreeChart = new JFreeChart();”但是JFreeChart是红色的,当我点击它时我没有得到导入的选项;只创建类,接口,枚举等。
  • 顺便说一句,运行jUnit测试工作正常
  • 此外,项目工具窗口中的“外部库”节点确实显示< 1.7> (即JDK)但不显示jUnit,jCommon或jFreeChart。

我见过类似的问题,答案似乎表明我所做的是正确的。我还检查了IntelliJ文档,这也表明我所做的是正确的。但是,它显然不适合我。也许我误会了什么。

有人可以帮助我让JFreeChart工作吗?

由于

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

2 个答案:

答案 0 :(得分:8)

我之前从未使用过IntelliJ,但我下载了它并立即创建了一个名为 JFreeChartExample File -> New Project的新项目。接下来,我点击File -> Project Structure...并选择Libraries条目,然后点击+添加jcommon-1.0.23.jarjfreechart-1.0.19.jar(解压缩后我在本地文件系统中添加了src/ JFreeChart发行版)。然后在BarChartDemo.java目录中创建了一个新的Java文件/* ================== * 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); } } (参见后面的内容)。现在我的项目看起来像这样:

enter image description here

BarChartDemo1.java如下:

{{1}}

我可以在项目中右键单击此文件并运行它以获取此信息:

enter image description here

答案 1 :(得分:0)

我花了几个小时搞清楚这个问题,然后我终于开始工作了。

您必须下载.jar文件 您可以从JFreeChart网站下载压缩文件。

这两个文件的链接如下。

http://mvnrepository.com/artifact/org.jfree/jcommon/1.0.23 http://mvnrepository.com/artifact/org.jfree/jfreechart/1.0.19