我已经将jmathplot.jar用于2D数据绘图,如下面的代码所示:
import javax.swing.*;
import java.awt.*;
import org.math.plot.Plot2DPanel;
public class MyPlot
{
//static Graphics g;
static public Plot2DPanel plot1;
static JFrame frame=new JFrame("a plot1 panel");
public MyPlot()
{
frame.setSize(400,400);
frame.setResizable(true);
frame.setAlwaysOnTop(true);
frame.setLocation(900,150);
frame.setVisible(true);
plot1 = new Plot2DPanel();
}
// Method to show tha new plot, using the data in arrays x[] and y[].
public void show(double [] x,double []y)
{
plot1.removeAllPlots();
plot1.addLinePlot("my plot",x,y);
plot1.setFixedBounds(0, 0, 1000);
plot1.setFixedBounds(1, 0, 1000);
frame.setContentPane(plot1);
frame.repaint();
frame.setVisible(true);
}
}
该程序适用于Java Oracle SE _ jdk1.6.0_25,但当我更新到SE _ jdk1.8.0_31时出现此错误:
setContentPane(java.awt.Container) in JFrame cannot be applied to (org.math.plot.Plot2DPanel)
已根据代码触发:
frame.setContentPane(plot1);
很明显存在兼容性问题,但我是java的新手,我不知道如何克服它以及在哪里寻找答案。在此先感谢任何帮助。