Witam chciałbym napisać program który może zmieniać liczby wyświetlane przez komponenty oraz ich kolory. Napisałem zmianę licz ale nie wiem jak mam teraz napisać zmianę kolorów poniżej przesyłam kod

import java.awt.Color;
import java.awt.event.*;
import java.beans.*;
import java.io.*;
public class Counter implements Serializable{
    private int count =0;
    private Color kolor = Color.red;
    private PropertyChangeSupport propertyChange = new PropertyChangeSupport(this);
    private VetoableChangeSupport vetos = new VetoableChangeSupport(this);
    public Counter() throws PropertyVetoException { this(0); }
    public Counter(int aCount) throws PropertyVetoException { setCount ( aCount); }
    
    public synchronized void addPropertyChangeListener(PropertyChangeListener l){
        propertyChange.addPropertyChangeListener(l);
    }
    public synchronized void removePropertyChangeListener(PropertyChangeListener l){
        propertyChange.removePropertyChangeListener(l);
    }
    public synchronized void addVetoableChangeListener(VetoableChangeListener l){
        vetos.addVetoableChangeListener(l);
    }
    public synchronized void removeVetoableChangeListener(VetoableChangeListener l){
        vetos.removeVetoableChangeListener(l);
    }
    public int getCount() {
        // TODO Auto-generated method stub
        return count;
    }
    public Color getColor() {
        // TODO Auto-generated method stub
        return kolor;
    }
    public  synchronized void setColor(Color color) {
        Color staryKolor = kolor;
        kolor = color;
        propertyChange.firePropertyChange("kolor", (Color)staryKolor, (Color)kolor);
        
    }
    public  synchronized void setCount(int aCount) throws PropertyVetoException{
        int oldValue = count;
        vetos.fireVetoableChange("count", new Integer(oldValue), new Integer(aCount));
        count = aCount;
        propertyChange.firePropertyChange("count", new Integer(oldValue), new Integer(aCount));
        
    }
}