Java JFreeChart在RedHat 6.5中镜像
我对Redhat 6.5中的Java JFreeChart在RedHat 6.5中镜像,java,jfreechart,redhat,Java,Jfreechart,Redhat,我对Redhat 6.5中的JFreeChart有问题。我的图表上下颠倒 这是我添加图表的源代码 private Control createPartControl() { GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true); ScrolledComposite sc = new ScrolledComposite(m_parent, SWT.H_SCROLL | SWT.V_SCROLL);
JFreeChart
有问题。我的图表上下颠倒
这是我添加图表的源代码
private Control createPartControl() {
GridData layoutData = new GridData(SWT.FILL, SWT.FILL, true, true);
ScrolledComposite sc = new ScrolledComposite(m_parent, SWT.H_SCROLL | SWT.V_SCROLL);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);
sc.setLayoutData(layoutData);
sc.setMinSize(450, 250);
m_mainComposite = new Composite(sc, SWT.EMBEDDED);
m_mainComposite.setLayoutData(layoutData);
m_mainComposite.setBackground(ColorConstants.white);
Frame frame = SWT_AWT.new_Frame(m_mainComposite);
frame.addComponentListener(new ComponentAdapter() {
@Override
public void componentResized(ComponentEvent e) {
m_panel.setMaximumDrawHeight(e.getComponent().getHeight());
m_panel.setMaximumDrawWidth(e.getComponent().getWidth());
m_panel.setMinimumDrawWidth(e.getComponent().getWidth());
m_panel.setMinimumDrawHeight(e.getComponent().getHeight());
}
});
m_panel = new ChartPanel(null);
m_panel.setPopupMenu(null);
frame.add(m_panel);
frame.setBackground(Color.white);
sc.setContent(m_mainComposite);
return sc;
}
public void updateContent(List<AggregatedSdcCollectionStat> stats) {
if (!isChartExsited()) {
m_chart = createChart(createDataset(stats));
m_panel.setChart(m_chart);
setChartExisted(true);
//m_panel.setVisible(true);
}
}
private JFreeChart createChart(CategoryDataset categorydataset) {
String collectionTime = Messages.getString("SdcCollectionStatisticViewItem.chart.xAxis");//$NON-NLS-1$
String nes = Messages.getString("SdcCollectionStatisticViewItem.chart.yAxis");//$NON-NLS-1$
JFreeChart jfreechart = ChartFactory
.createStackedBarChart(null, collectionTime, nes, categorydataset, PlotOrientation.VERTICAL, true, true, false);
CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();
categoryplot.getRangeAxis().setStandardTickUnits(NumberAxis.createIntegerTickUnits());
StackedBarRenderer stackedbarrenderer = (StackedBarRenderer) categoryplot.getRenderer();
stackedbarrenderer.setDrawBarOutline(false);
stackedbarrenderer.setBaseItemLabelsVisible(true);
stackedbarrenderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
CategoryItemRenderer renderer = categoryplot.getRenderer();
renderer.setSeriesPaint(0, SUCCESS_CLR);
renderer.setSeriesPaint(1, ONGOING_CLR);
renderer.setSeriesPaint(2, MISSING_CLR);
renderer.setSeriesPaint(3, EXCLUDED_CLR);
renderer.setBaseItemLabelsVisible(Boolean.FALSE);
return jfreechart;
}
控制台输出:
线程“main”中出现异常java.lang.NoClassDefFoundError:org/jfree/ui/ApplicationFrame由以下原因引起:
java.lang.ClassNotFoundException:org.jfree.ui.ApplicationFrame位于
java.net.URLClassLoader$1.run(URLClassLoader.java:366)位于
java.net.URLClassLoader$1.run(URLClassLoader.java:355)位于
java.security.AccessController.doPrivileged(本机方法)位于
java.net.URLClassLoader.findClass(URLClassLoader.java:354)位于
loadClass(ClassLoader.java:423) 这只发生在红帽身上;它在Windows和Ubuntu上运行良好。
你看到这个问题了吗?你能给我一个解决这个问题的方法吗?图像很好,但是你需要帮助的代码在哪里?你是否试过运行jfreechart标准演示,看看它是否正常
java-jar jfreechart-1.0.1-demo.jar
?看起来像是使用了scale()
转换。这很奇怪;例如,尝试使用所需的LIB;用新信息编辑你的问题。正如垃圾神所说的-请在类路径的同时添加任何LD\U库\U路径等。然而,如果您下载了完整的gz并进行了扩展,那么这个示例应该可以正常工作。