Veröffentlicht 19. Dezember 201014 j Hallo... ich möchte gerne die Farbe eine Linie (standardmäßig in schwarz), sobald die Werte einen bestimmen Maxwert erreichen, ändern. Wenn ich die Linie einfach mit "g.setColor(linienFarbe);" ändere, wird sie für einen kurzen Augenblick rot, danach aber überall wieder schwarz. Gibt es in Java eine Möglichkeit dies zu realisieren? Hier meine aktueller Paint-Methode : public void paintComponent(Graphics g) throws IndexOutOfBoundsException { super.paintComponent(g); if(controller.getAktuellesEkg() != null) { floatWerte = controller.getAktuellesEkg().getEkgWerte(); for(int i = 1; i < floatWerte.size(); i++) { g.drawLine(i-1, floatWerte.get(i-1).intValue(), i, floatWerte.get(i).intValue()); g.setColor(linienFarbe); } } }
20. Dezember 201014 j Die setColor(Color) Methode auf dem Graphics Object ist dafür schon die richtige Methode. Nur werde ich irgendwie aus deiner paintComponent() Methode nicht so ganz schlau. Vor allem verstehe ich nicht, warum du die Farbe der Linie erst setzt sobald diese gezeichnet worden ist, dadurch wird die nächste Linie, also die im nächsten Schleifendurchlauf, erst in der gesetzten Farbe gezeichnet. Außerdem sehe ich in der Methode nirgendswo irgendwelche Abfragen, die jetzt irgendwelche Werte kontrollieren und die Linienfarbe anpassen.
20. Dezember 201014 j Du wirst wohl drumrum kommen eine eigene Linie zu implementieren - übrigens ist eine Linie nur eine spezielle Aneinanderreihung von Punkten
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.