2016-07-23 22 views
0

Ich habe eine Jtable Ich möchte die Zeichen Spalte in der Abszisse Ich habe versucht, diesen Code durch Setzen jeder Spalte in einem Array, aber es zeigte nichts, wenn ich debuggen es nicht in die Ausnahme und es gibt keine Nachricht in der Consol.füllen barchart von jtable Werte in Java

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); 
    } 
} 

die jtable bevölkert wird, wenn läuft, aber die Grafik nicht angezeigt

+0

implementieren Bitte bearbeiten Sie Ihre Frage mit einem [mcve], die Ihre aktuelle Vorgehensweise zeigt. – trashgod

Antwort

0

könnten Sie versuchen, mit Oracles Implementierung von Balkendiagrammen in JavaFX 8: Tutorial

Wenn Sie nicht wollen, verwenden JavaFX 8 für Ihre gesamte Anwendung, können Sie es auch in Swing mit der JFXPanel: Tutorial

+0

Ich weiß nicht, was ist JavaFX-Technologie Ich bin Debütant in Java, aber ich habe etwas anderes versucht, ich extrahiere Daten aus der Hashmapp in 2 Arrays und versuchen, das Diagramm zu füllen, aber ich habe ArrayIndexOutOfBoundsException –

+0

http://docs.oracle .com/javase/8/javafx/get-started-tutorial/jfx-overview.htm # JFXST784 Dies sollte erklären, was JavaFX ist. Kurzbeschreibung: Seit Java 8 ist es die recommend API, um Benutzeroberflächen zu erstellen. Sein Vorgänger war Swing, was ich denke, Sie verwenden. – SilverMonkey

+0

ok danke, ich werde das sehen, ja ich benutze swing und awt. –