我有一个jtable我想在absciss中显示字符列我尝试了这个代码,把每个列放在一个数组中但它没有显示任何内容,当我调试它时没有输入异常而且没有在consol中的消息。
public void Graph() {
try {
DefaultCategoryDataset base = new DefaultCategoryDataset();
Character[] letters = new Character[table.getRowCount()];
Integer[] frequences = new Integer[table.getRowCount()];
int i;
for (i = 0; i < table.getRowCount(); i++) {
letters[i] = (Character) table.getValueAt(i, 0);
frequences[i] = (Integer) table.getValueAt(i, 1);
base.setValue(frequences[i], "Fréquences", letters[i]);
}
JFreeChart graph = ChartFactory.createBarChart3D(
"Diagramme des Fréquences",//titre
"Lettres", //abscisses
"Fréquences", //ordonnées
base, //data
PlotOrientation.VERTICAL,
false, //legende
true, //tooltips
false //URLs
);
ChartPanel Panel = new ChartPanel(graph);
panelGraph.removeAll();
panelGraph.add(Panel, BorderLayout.CENTER);
panelGraph.validate();
CategoryPlot p = graph.getCategoryPlot();
// set the range axis to display integers only...
final NumberAxis rangeAxis = (NumberAxis) p.getRangeAxis();
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e);
}
}
运行时会填充jtable,但图表不会显示