gpt4 book ai didi

java - 添加 JFreeChart 和 JCommon 库后,无法访问 org.jfree.chart.JFreeChart 类型

转载 作者:行者123 更新时间:2023-12-02 10:05:09 56 4
gpt4 key购买 nike

我是 Java 新手,正在尝试掌握 JFreeChart。我正在尝试从该网站运行一些演示代码:https://www.tutorialspoint.com/jfreechart/jfreechart_xy_chart.htm

这是演示代码(问题的其余部分在下面):

import java.awt.Color; 
import java.awt.BasicStroke;

import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;

public class XYLineChart_AWT extends ApplicationFrame {

public XYLineChart_AWT( String applicationTitle, String chartTitle ) {
super(applicationTitle);
JFreeChart xylineChart = ChartFactory.createXYLineChart(
chartTitle ,
"Category" ,
"Score" ,
createDataset() ,
PlotOrientation.VERTICAL ,
true , true , false);

ChartPanel chartPanel = new ChartPanel( xylineChart );
chartPanel.setPreferredSize( new java.awt.Dimension( 560 , 367 ) );
final XYPlot plot = xylineChart.getXYPlot( );

XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer( );
renderer.setSeriesPaint( 0 , Color.RED );
renderer.setSeriesPaint( 1 , Color.GREEN );
renderer.setSeriesPaint( 2 , Color.YELLOW );
renderer.setSeriesStroke( 0 , new BasicStroke( 4.0f ) );
renderer.setSeriesStroke( 1 , new BasicStroke( 3.0f ) );
renderer.setSeriesStroke( 2 , new BasicStroke( 2.0f ) );
plot.setRenderer( renderer );
setContentPane( chartPanel );
}

private XYDataset createDataset( ) {
final XYSeries firefox = new XYSeries( "Firefox" );
firefox.add( 1.0 , 1.0 );
firefox.add( 2.0 , 4.0 );
firefox.add( 3.0 , 3.0 );

final XYSeries chrome = new XYSeries( "Chrome" );
chrome.add( 1.0 , 4.0 );
chrome.add( 2.0 , 5.0 );
chrome.add( 3.0 , 6.0 );

final XYSeries iexplorer = new XYSeries( "InternetExplorer" );
iexplorer.add( 3.0 , 4.0 );
iexplorer.add( 4.0 , 5.0 );
iexplorer.add( 5.0 , 4.0 );

final XYSeriesCollection dataset = new XYSeriesCollection( );
dataset.addSeries( firefox );
dataset.addSeries( chrome );
dataset.addSeries( iexplorer );
return dataset;
}

public static void main( String[ ] args ) {
XYLineChart_AWT chart = new XYLineChart_AWT("Browser Usage Statistics",
"Which Browser are you using?");
chart.pack( );
RefineryUtilities.centerFrameOnScreen( chart );
chart.setVisible( true );
}
}

我无法运行演示代码,因为我无法从 JFreeChart 库导入任何类。

一个例子可能是,当我尝试导入 org.jfree.chart.ChartPanel 时,我收到错误“org.jfreechart.ChartPanel 类型不可访问”

我已按照 PDF 安装指南 ( http://www.jfree.org/jfreechart/download/jfreechart-1.0.0-install.pdf )

我已将库导入到项目文件夹中。

我检查了库 JAR,它们包含我尝试导入的所有类。

系统信息:

JRE 版本 - JavaSE 11/JDK 11

Eclipse 版本 - 4.11.0

应该导入这些库并且代码应该可以正常运行,尽管 Eclipse 说它们无法访问。

预先感谢所有花时间阅读本文的人:)

最佳答案

鉴于您正在使用 Java 11,您可能还创建了一个

module-info.java

文件。这将是关于

module yourmodulename { 
...
}
<小时/>

要访问 jfreechart 自动模块,您需要要求

module yourmodulename { 
requires jfreechart;
}

enter image description here

<小时/>

此外,您正在关注的 PDF 教程已经过时了。使用 Maven 或 Gradle 作为依赖管理工具。如果您需要进一步说明,请告诉我。

Maven:

<dependency>
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.5.0</version>
</dependency>

Gradle :

implementation('org.jfree:jfreechart:1.5.0')

关于java - 添加 JFreeChart 和 JCommon 库后,无法访问 org.jfree.chart.JFreeChart 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55386075/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com