tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von miffi
ERLEDIGT
JA
ANTWORTEN
10
ZUGRIFFE
544
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Orb Orb ist offline Mitglied Bronze
    Registriert seit
    Sep 2010
    Ort
    Göttingen
    Beiträge
    27
    Guten Morgen alle zusammen,

    ich habe mir für ein Programm zwangsweise eine aktuellere Version von JFreeChart einbinden müssen. Könnte mir jemand erklären woran es liegt, dass auf einmal alle meine
    Hintergründe ( bei denen ich JFreeChart verwende ) grau sind, bzw. wie ich das Ganze wieder beheben kann?

    Grüße Orb
     
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.

    Goethe

  2. #2
    Avatar von miffi
    miffi miffi ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Ravensburg (BW)
    Beiträge
    139
    Howdie.

    Es gibt mehrere Stellen, an denen das liegen kann.
    Ein paar Möglichkeiten zum Ausprobieren:
    1. Setze den Hintergrund der umgebenden Komponente (was vermutlich entweder ein ChartPanel oder ein JPanel ist) auf durchsichtig (myPanel.setOpaque(false)).
    2. Setze direkt beim erzeugten Chart den Hintergrund auf auf null (myChart.setBackgroundPaint(null)).
    Mehr weiß ich aus dem Kopf grad nicht. Falls das nicht funktioniert, meld dich nochmal.

    Gruß
    miffi
     
    "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
    Douglas Adams

  3. #3
    Orb Orb ist offline Mitglied Bronze
    Registriert seit
    Sep 2010
    Ort
    Göttingen
    Beiträge
    27
    Heyho,

    Danke für die schnelle Antwort, jedoch hat mir das nichts gebracht =/
    Haste vielleicht noch ein paar schlaue ideen?

    Grüße, Orb.
     
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.

    Goethe

  4. #4
    Avatar von miffi
    miffi miffi ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Ravensburg (BW)
    Beiträge
    139
    Hmm, seltsam. Ich hab JFreeChart inzwischen öfter im Einsatz, und stets mit transparentem Hintergrund. Dafür muss ich nur oben genannte Eigenschaften setzen, dann geht das.

    Kannst du vielleicht mal ein bissl Code posten? Das würde die Fehlersuche doch um einiges erleichtern...

    Gruß
    miffi
     
    "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
    Douglas Adams

  5. #5
    Orb Orb ist offline Mitglied Bronze
    Registriert seit
    Sep 2010
    Ort
    Göttingen
    Beiträge
    27
    Hey hier ein wenig Code: das ist unter Anderen eine Stelle
    Kann auch sein das ich irgendeinen Anfängerfehler gemacht habe, vielleciht wirst du ja fündig =)

    Die Methode zum ersellen des Charts

    Code java:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    
        public static JFreeChart createTimeSeriesChart(String title,
                                                       String timeAxisLabel,
                                                       String valueAxisLabel,
                                                       XYDataset dataset,
                                                       boolean legend,
                                                       boolean tooltips,
                                                       boolean urls) {
     
            ValueAxis timeAxis = new DateAxis(timeAxisLabel);
            timeAxis.setLowerMargin(0.02);  // reduce the default margins
            timeAxis.setUpperMargin(0.02);
            NumberAxis valueAxis = new NumberAxis(valueAxisLabel);
            valueAxis.setAutoRangeIncludesZero(false);  // override default
            XYPlot plot = new XYPlot(dataset, timeAxis, valueAxis, null);
     
            XYToolTipGenerator toolTipGenerator = null;
            if (tooltips) {
                toolTipGenerator
                    = StandardXYToolTipGenerator.getTimeSeriesInstance();
            }
     
            XYURLGenerator urlGenerator = null;
            if (urls) {
                urlGenerator = new StandardXYURLGenerator();
            }
     
            XYLineAndShapeRenderer renderer = new XYLineAndShapeRenderer(true,
                    false);
            renderer.setBaseToolTipGenerator(toolTipGenerator);
            renderer.setURLGenerator(urlGenerator);
            plot.setRenderer(renderer);
     
            JFreeChart chart = new JFreeChart(title, JFreeChart.DEFAULT_TITLE_FONT,
                    plot, legend);
            currentTheme.apply(chart);
            return chart;

    und das binde ich dann einfach mit einem ChartPanel ein:

    Code java:
    1
    
    ChartPanel xPanel = new ChartPanel( xChart2, 300, 400, 300, 400, 1600, 2560, true, false, true, true, false, true );
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken Neue Version JFreeChart grauer Hintergrund?!-grauerhintergrund.jpg  
     
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.

    Goethe

  6. #6
    Avatar von miffi
    miffi miffi ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Ravensburg (BW)
    Beiträge
    139
    Also einen Fehler kann ich bei der Erzeugung des Charts nicht finden.
    Der Code unterscheidet sich auch nicht sonderlich von dem, den ich selbst oft bei einfachen Charts verwende. Daher verstehe ich nicht, warum meine obigen Tipps nicht funktionieren. Deshalb muss ich nochmal nachhaken:

    Redest du von dem grauen Hintergrund des Charts selbst? Also der Teil, in dem der Graph gezeichnet wird? Der müsste sich beispielsweise mit chart.setBackgroundPaint(null) oder chart.setBackgroundPaint(Color.white) beeinflussen lassen.

    Oder redest vom Hintergrund des ganzen Panels? Das wäre dann dein ChartPanel, was du mit xPanel.setOpaque(false) transparent machen könntest.
     
    "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
    Douglas Adams

  7. #7
    Orb Orb ist offline Mitglied Bronze
    Registriert seit
    Sep 2010
    Ort
    Göttingen
    Beiträge
    27
    Ich meine den Hintergrund des Digramms, also das dunklere Grau.
    ( wenn du dir meinen Anhang vom letztenn post angschaust =) )
    Wenn ich mich nciht irre bezieht sich chart.setBackgroundPaint(null) auf das Panel dann, zu mindest bei mir =D wobei es sein kann, dass ich da schon was verfuscht habe
     
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.

    Goethe

  8. #8
    Avatar von miffi
    miffi miffi ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Ravensburg (BW)
    Beiträge
    139
    Also dieses dunkel Grau ist meines Wissens die default-Farbe für JFreeCharts. Wenn es sich nicht über setBackgroundPaint(Color c) ändern lässt (hast schon versucht damit eine andere Farbe als null zu setzen?), muss du vielleicht was beim Renderer konfigurieren...

    Hier bin ich mit meinem JFreeChart-Latein am Ende, sorry. Da müsste ich grad die Doku wälzen, wozu mir allerdings die Zeit fehlt.

    Gruß und viel Erfolg,
    miffi
    Orb bedankt sich. 
    "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
    Douglas Adams

  9. #9
    Orb Orb ist offline Mitglied Bronze
    Registriert seit
    Sep 2010
    Ort
    Göttingen
    Beiträge
    27
    hmm ich bin gerade auf die StandardChartTheme Klasse gestoßen wenn ich etwas finde werd ich bescheid sagen =). aber trotzdem danke, dass du dir die Zeit genommen hast =)

    Grüße Orb
     
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.

    Goethe

  10. #10
    Orb Orb ist offline Mitglied Bronze
    Registriert seit
    Sep 2010
    Ort
    Göttingen
    Beiträge
    27
    Für die, die vlielleicht irgendwann mal auf ein ähnliches Problem stoßen:
    Man kann auf ChartFactory setTheme() (oder so ähnlich) aufrufen da kann man dann je nach dem was man haben will, die Diagramme farblich etc. verändern =)

    Grüße, Orb
     
    Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen.

    Goethe

  11. #11
    Avatar von miffi
    miffi miffi ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Ort
    Ravensburg (BW)
    Beiträge
    139
    Ah, hab auch deinen Aufruf von currentTheme.apply(chart) ganz übersehen. Das könnte der Grund sein, warum die von mir genannten Methoden nicht funktioniert haben...
    Aber hauptsache es funktioniert

    Markier den Thread doch als erledigt bitte.

    Gruß
    miffi
     
    "A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools."
    Douglas Adams

Ähnliche Themen

  1. Scribus, Grauer Hintergrund
    Von Jusmi im Forum Sonstige Grafik-Programme
    Antworten: 2
    Letzter Beitrag: 03.04.10, 23:15
  2. Antworten: 1
    Letzter Beitrag: 05.05.08, 13:17
  3. PDf, grauer Hintergrund bei Bildern beim ausdrucken
    Von Jan-Frederik Stieler im Forum Desktop Publishing (DTP)
    Antworten: 2
    Letzter Beitrag: 11.12.06, 19:23
  4. Grauer Hintergrund in Platziertem Bild?!
    Von Crash_Davis im Forum Vektor-Programme
    Antworten: 3
    Letzter Beitrag: 10.02.04, 15:24
  5. Neue ICQ-Version
    Von MrThomas im Forum Internet, DSL & Flatrate
    Antworten: 38
    Letzter Beitrag: 11.04.02, 18:23

Stichworte