在 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

现在一切正常。