Dynamische JFreechart updated UI nicht

norm

Mitglied
Hallo Community,

ich habe ein Problem mit JFreeChart.
Ich benutze in meiner Anwendung eine dynamsiche Chart, der Code sieht aus wie folgt:

Java:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package de.fhh.ccitm.newTool.gui.charting;

import de.fhh.ccitm.newTool.businessObjects.Complex;
import java.sql.Timestamp;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.time.Second;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;

/**
 *
 * @author norm
 */
public class LiegezeitenChart {
     
    private TimeSeries series;

    public LiegezeitenChart(JPanel containerPanel) {
        this.series = new TimeSeries("Liegezeiten", Second.class);
        final TimeSeriesCollection dataset = new TimeSeriesCollection(this.series);
        final JFreeChart chart = createLzChart(dataset);
        final ChartPanel chartPanel = new ChartPanel(chart);
        containerPanel.add(chartPanel);
    }
    
        private JFreeChart createLzChart(TimeSeriesCollection lzDataset) {
        final JFreeChart result = ChartFactory.createTimeSeriesChart("Liegezeiten", "Zeitstempel", "Liegezeit", lzDataset, true, true, false);
        final XYPlot plot = result.getXYPlot();
        ValueAxis axis = plot.getDomainAxis();
        axis.setAutoRange(true);
        axis.setRange(0.0, 100.0);
        return result;
    }

    public void updateLzChart(Complex c) {
        String complexObjectValue = c.getComplexObject().getComplexObjectField().getComplexObjectValue();
        Timestamp ts = c.getTs();
        Integer valueOf = Integer.valueOf(complexObjectValue);
        series.add(new Second(ts), valueOf);
        
        
    }


}
Das Panel, welches übergeben wird hat ein BorderLayout.

Im Prinzip funktioniert das ganze, nur leider erscheint die Kurve in der Chart erst, wenn ich wie wild darin herumklicke. Es scheint also ein Problem beim update des UI zu sein.
Ich habe mich nach diesem Tutorial gerichtet: JFreeChart: Dynamic Data Demo : Dynamic Data ChartChartJava

Erkennt jemand das Problem?

Danke & freundliche Grüße
 
S

SlaterB

Gast
> axis.setRange(0.0, 100.0);
könnte für die Domain-Axis mit Sekunden mies sein,
unten steht dann bestimm was von 1:00 bis 1:00....01 wie bei mir gerade im Test?

nach dem Geklicke kommen dann andere Uhrzeiten?

sollte das nicht eher für die RangeAxis gelten?
 

norm

Mitglied
> axis.setRange(0.0, 100.0);
könnte für die Domain-Axis mit Sekunden mies sein,
unten steht dann bestimm was von 1:00 bis 1:00....01 wie bei mir gerade im Test?

nach dem Geklicke kommen dann andere Uhrzeiten?

sollte das nicht eher für die RangeAxis gelten?

Hi Slater!

Nein, das axis.setRange() wirkt sich in diesem Fall auf die Y-Achse aus, welche nicht die Zeit sondern die dazu gehörigen Werte repräsentiert. Das sollte nicht das Problem sein.

Die Werte die ich darstellen will, sind beschrieben durch einen Timestamp und einen Double Wert.
Die Timestamps können mehrere Tage umfassen, oder nur zu einem Tag gehören.
Meist ist es so, dass wenn ich per rechtsklick "Set Autorange" wähle, die X-Achse schon korrekt dargstellt wird. Nur leider sehe ich dann noch keine Kurve. Wenn ich dann etwas in der Chart herumklicke, erscheint die Kurve auf einmal.

Ist das verständlich? Sonst mache ich mal nen Bildschirmvideo :>

Gruß
norm
 
S

SlaterB

Gast
Video bzw. Screenshots wären in der Tat hilfreich, noch mehr aber ein vollständiges Testprogramm,
wo wird das Panel eingefügt, welche Werte kommen denn nun konkret an,
möglichst kurzes Programm mit Dummy-Werten

> Nein, das axis.setRange() wirkt sich in diesem Fall auf die Y-Achse aus,

also der Code zeigt eindeutig axis als Domain-Achse, wie soll man das anders interpretieren?
lasse es einfach testweise weg falls noch nicht ausprobiert, und schaue ob sich etwas bessert
 

norm

Mitglied
Video bzw. Screenshots wären in der Tat hilfreich, noch mehr aber ein vollständiges Testprogramm,
wo wird das Panel eingefügt, welche Werte kommen denn nun konkret an,
möglichst kurzes Programm mit Dummy-Werten

> Nein, das axis.setRange() wirkt sich in diesem Fall auf die Y-Achse aus,

also der Code zeigt eindeutig axis als Domain-Achse, wie soll man das anders interpretieren?
lasse es einfach testweise weg falls noch nicht ausprobiert, und schaue ob sich etwas bessert

ok, danke erstmal, ich werde mich morgen nochmal dran setzen und etwas fummeln...
falls ich nicht voran komme melde ich mich nochmal :toll:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Dynamische ListView-Größe, die bei Fenstergrößenänderung sich anpasst AWT, Swing, JavaFX & SWT 19
M Dynamische Zellengröße und Zeilenumbruch AWT, Swing, JavaFX & SWT 7
M Java FX dynamische Diagramme AWT, Swing, JavaFX & SWT 0
Q-bert Dynamische Komponente erzeugen AWT, Swing, JavaFX & SWT 6
4a61766120617274697374 dynamische Tree View AWT, Swing, JavaFX & SWT 2
P JavaFX Dynamische TableView AWT, Swing, JavaFX & SWT 14
G Dynamische ComboBox AWT, Swing, JavaFX & SWT 3
B Swing Dynamische JList mit Bildern AWT, Swing, JavaFX & SWT 4
S Jtable dynamische Spaltenbreite AWT, Swing, JavaFX & SWT 5
B SWT Dynamische GUI (Layoutmanager?) AWT, Swing, JavaFX & SWT 2
P Dynamische Seite zum basteln für den User AWT, Swing, JavaFX & SWT 8
B SWT TreeViewer dynamische Anzeige von Icons AWT, Swing, JavaFX & SWT 3
J Java - dynamische Anpassung an Fenstergröße? AWT, Swing, JavaFX & SWT 4
B Swing Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
C Swing Dynamische JComboBox (Filter) AWT, Swing, JavaFX & SWT 28
W "Dynamische JComboBoxes" AWT, Swing, JavaFX & SWT 5
N Swing Dynamische Controls AWT, Swing, JavaFX & SWT 5
C JTable dynamische erweitern AWT, Swing, JavaFX & SWT 2
T 2D-Grafik Statisches Hintergrundbild, dynamische Bilder drüber AWT, Swing, JavaFX & SWT 2
G Große dynamische ContextMenus erzeugen (Eclipse RCP) AWT, Swing, JavaFX & SWT 4
F Swing Dynamische Größenanpassung AWT, Swing, JavaFX & SWT 4
trash Dynamische JTable (SQL) AWT, Swing, JavaFX & SWT 5
L Dynamische Textgröße bei Buttons AWT, Swing, JavaFX & SWT 3
lordcarlos Dynamische und interaktive grafik AWT, Swing, JavaFX & SWT 5
T Swing JTable dynamische Zeilenhöhe AWT, Swing, JavaFX & SWT 5
U Dynamische Panel hinzufügen AWT, Swing, JavaFX & SWT 6
N Swing Dynamische JRadioButtons und Visual Editor AWT, Swing, JavaFX & SWT 4
Q Dynamische Zahl und Positionierung von Objekten AWT, Swing, JavaFX & SWT 5
S Swing Dynamische JPanels: Vertikales Strecken verhindern AWT, Swing, JavaFX & SWT 4
hdi dynamische Iteration über Components AWT, Swing, JavaFX & SWT 3
E Dynamische JComboBox AWT, Swing, JavaFX & SWT 3
F dynamische Ausgabe eines extenen Programms umleiten AWT, Swing, JavaFX & SWT 6
F Dynamische Swing Elemente AWT, Swing, JavaFX & SWT 10
G Dynamische JMenuBar AWT, Swing, JavaFX & SWT 2
T Dynamische Anpassung einer jCheckBox AWT, Swing, JavaFX & SWT 11
O Bindings, dynamische Verbindung (Vorbau mit Netbeans) AWT, Swing, JavaFX & SWT 10
G Dynamische Menüs mit Liste von MRU Dateien AWT, Swing, JavaFX & SWT 2
X Dynamische linien (Position und Länge) AWT, Swing, JavaFX & SWT 4
L Dynamische Buttons erstellt, aber wie ein Event zuweisen? AWT, Swing, JavaFX & SWT 11
T dynamische anzeige? AWT, Swing, JavaFX & SWT 4
S Dynamische Ausgabe im JTextField AWT, Swing, JavaFX & SWT 7
K dynamische jlabels AWT, Swing, JavaFX & SWT 21
M dynamische Grafik in JFrame einbetten AWT, Swing, JavaFX & SWT 2
G JTable dynamische Darstellung der ankommenden Daten AWT, Swing, JavaFX & SWT 19
G JTextField & Dynamische Grössenänderung? AWT, Swing, JavaFX & SWT 8
K TableLayout - dynamische Elemente zu spät ge-updated AWT, Swing, JavaFX & SWT 3
O Dynamische Checkboxen AWT, Swing, JavaFX & SWT 21
T Dynamische GUI's AWT, Swing, JavaFX & SWT 10
T Dynamische Look&Feels AWT, Swing, JavaFX & SWT 4
K dynamische Bilder laden AWT, Swing, JavaFX & SWT 5
C JFreeChart X-Achse Werte skalieren, begrenzen, zoomen AWT, Swing, JavaFX & SWT 5
H JFreeChart BarDiagramm Balken der gleichen Serie unterschiedliche Farbe zuordnen AWT, Swing, JavaFX & SWT 2
H JFreeChart - DemoDataSetFactory Probleme AWT, Swing, JavaFX & SWT 1
H JFreeChart Charts überlagern AWT, Swing, JavaFX & SWT 2
C JFreeChart x-Achse mit absteigenden Werten AWT, Swing, JavaFX & SWT 1
K JFreeChart nicht ohne BarChartDemo startklar? AWT, Swing, JavaFX & SWT 5
T 2D-Grafik JFreeChart mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
D Swing JFreeChart Crosshair Label - setPreferredSize oder ähnliches, aber wo ? AWT, Swing, JavaFX & SWT 1
N jFreeChart einzelne Punkte anwählen und Formatieren AWT, Swing, JavaFX & SWT 0
B JFreeChart Gantt Höhe Tasks AWT, Swing, JavaFX & SWT 1
V JFreeChart: Tooltip auf Knopfdruck anzeigen AWT, Swing, JavaFX & SWT 2
V JFreechart: In Linechart Linien einzeichnen und Bereiche färben AWT, Swing, JavaFX & SWT 4
M In JFreeChart Geraden erzeugen AWT, Swing, JavaFX & SWT 11
M JFreechart Zoom out AWT, Swing, JavaFX & SWT 2
M Swing JFreechart X-Achse Tick auslesen AWT, Swing, JavaFX & SWT 13
M Swing JFreechart zoom x-achse neue Werte AWT, Swing, JavaFX & SWT 4
M JFreeChart neu zeichnen sich Wenn Jtable sich ändert AWT, Swing, JavaFX & SWT 5
Z Diagramm mit jfreechart quadratisch erstellen AWT, Swing, JavaFX & SWT 1
D JFreeChart range der Y Achse verändern. AWT, Swing, JavaFX & SWT 1
G JFreeChart - SetSeriesColor Problem AWT, Swing, JavaFX & SWT 3
K 2D-Grafik JFreeChart plot.setBackgroundImage() AWT, Swing, JavaFX & SWT 1
K 2D-Grafik JFreeChart DateAxis AWT, Swing, JavaFX & SWT 9
T Event Handling JFreeChart Update AWT, Swing, JavaFX & SWT 2
A JFreeChart BarChart invertierte anzeige oder werte bereich von-bis AWT, Swing, JavaFX & SWT 4
Farbtopf Live update JFreeChart AWT, Swing, JavaFX & SWT 3
H Swing JfreeChart aktualisieren - mit daten aus thread AWT, Swing, JavaFX & SWT 3
D JFreeChart - aktuelle code beispiele AWT, Swing, JavaFX & SWT 11
M JFreeChart in ein File schreiben (bzw. JFrame in ein File Schreiben) AWT, Swing, JavaFX & SWT 2
A JFreeChart in GUI AWT, Swing, JavaFX & SWT 3
E JFreeChart: Timeseries-Chart und Area-Chart "überlappen" lassen AWT, Swing, JavaFX & SWT 6
B JFreeChart-Erweiterungen AWT, Swing, JavaFX & SWT 4
E JFreeChart in einer dynamischen Aufzeichnung neue Serien hinzufügen? AWT, Swing, JavaFX & SWT 7
I XML - JFreeChart AWT, Swing, JavaFX & SWT 15
S JFreeChart - Schriftgröße der Legende AWT, Swing, JavaFX & SWT 2
O Swing JFreechart subtitle formatieren AWT, Swing, JavaFX & SWT 3
N JFreeChart: Plot soll mit skalieren AWT, Swing, JavaFX & SWT 5
R JFreeChart Plots AWT, Swing, JavaFX & SWT 6
J JFreechart spezielles Balkendiagramm AWT, Swing, JavaFX & SWT 2
R JFreeChart: nur jeden n-ten Wert auf der X-Achse anzeigen AWT, Swing, JavaFX & SWT 5
R JFreeChart aktualisieren wenn sich die Ausgangsdaten ändern AWT, Swing, JavaFX & SWT 8
T JFreeChart Linine einzeichnen AWT, Swing, JavaFX & SWT 2
M JFreeChart Ausrichtung der Balken AWT, Swing, JavaFX & SWT 2
R jFreeChart in eine NetBeans Projekt integrieren AWT, Swing, JavaFX & SWT 24
D JFreeChart Breite (width) ändern AWT, Swing, JavaFX & SWT 6
A Swing JFreeChart, Gantt, Schichtplan AWT, Swing, JavaFX & SWT 3
R JFreeChart Skalierung zur Laufzeit ändern AWT, Swing, JavaFX & SWT 7
F Wie lade ich eine CategoryDataset aus XML ins JFreeChart? AWT, Swing, JavaFX & SWT 9
J JFreeChart - mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
A JFreeChart: 2 X-Achsen für ein Dataset AWT, Swing, JavaFX & SWT 2
T JFreeChart export Problem AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben