在 MacOS 上 Java 中制作图表时出错
Error while making a chart in Java on MacOS
我正在编写一个简单的测试代码来制作 java 中的条形图。这是我的代码:
import javax.swing.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.data.category.*;
class A1 extends JFrame{
A1(){
// s1-> dataset
DefaultCategoryDataset ds = new DefaultCategoryDataset();
ds.addValue(89, "Amit", "Phy");
ds.addValue(50, "Amit", "Chem");
ds.addValue(78, "Amit", "Math");
//s2-> design chart
JFreeChart ch = ChartFactory.createBarChart("Amit's performance", "Subject", "Marks",
ds, PlotOrientation.VERTICAL, true, true, false);
//s3-> display chart
ChartPanel cp = new ChartPanel(ch);
setContentPane(cp);
setTitle("My First Chart App");
setSize(500, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
class A1Test{
public static void main(String[] args) {
A1 a = new A1();
}
}
我在文件夹 kk 中有 jcommon.jar 和 jfreechart.jar。
我 运行 它在终端上使用命令“javac -classpath kk\* A1test.java”,我总是得到错误“java:2:错误:包 org.jfree.chart 不存在
谁能帮我解决这个问题?
好吧,我只是将您的代码复制粘贴到我的 Mac 上。它工作得很好。我运行以下命令:
javac -classpath kk/"*":./ A1Test.java
java -classpath kk/"*":./ A1Test
这会产生以下屏幕:
- 我使用
/
作为路径(Windows 使用 \
)
- 我运行它来自包含
A1Test.java
的目录
kk
目录和A1Test.java
在目录树结构中是兄弟
- 我将当前目录附加到 class 路径。不这样做会导致找不到
A1Test.java
并抛出 java.lang.ClassNotFoundException
.
- 我还在双引号中转义了通配符星号。
所以我运行它用下面的终端命令
javac -cp kk/jfreechart.jar:kk/jcommon.jar:. A1Test.java
现在一切正常。
我正在编写一个简单的测试代码来制作 java 中的条形图。这是我的代码:
import javax.swing.*;
import org.jfree.chart.*;
import org.jfree.chart.plot.*;
import org.jfree.data.category.*;
class A1 extends JFrame{
A1(){
// s1-> dataset
DefaultCategoryDataset ds = new DefaultCategoryDataset();
ds.addValue(89, "Amit", "Phy");
ds.addValue(50, "Amit", "Chem");
ds.addValue(78, "Amit", "Math");
//s2-> design chart
JFreeChart ch = ChartFactory.createBarChart("Amit's performance", "Subject", "Marks",
ds, PlotOrientation.VERTICAL, true, true, false);
//s3-> display chart
ChartPanel cp = new ChartPanel(ch);
setContentPane(cp);
setTitle("My First Chart App");
setSize(500, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
class A1Test{
public static void main(String[] args) {
A1 a = new A1();
}
}
我在文件夹 kk 中有 jcommon.jar 和 jfreechart.jar。
我 运行 它在终端上使用命令“javac -classpath kk\* A1test.java”,我总是得到错误“java:2:错误:包 org.jfree.chart 不存在
谁能帮我解决这个问题?
好吧,我只是将您的代码复制粘贴到我的 Mac 上。它工作得很好。我运行以下命令:
javac -classpath kk/"*":./ A1Test.java
java -classpath kk/"*":./ A1Test
这会产生以下屏幕:
- 我使用
/
作为路径(Windows 使用\
) - 我运行它来自包含
A1Test.java
的目录
kk
目录和A1Test.java
在目录树结构中是兄弟- 我将当前目录附加到 class 路径。不这样做会导致找不到
A1Test.java
并抛出java.lang.ClassNotFoundException
. - 我还在双引号中转义了通配符星号。
所以我运行它用下面的终端命令
javac -cp kk/jfreechart.jar:kk/jcommon.jar:. A1Test.java
现在一切正常。