Hallo Fabio. ich bedanke mich für deine Hilfe
hier ist etwas code
beste Gruß
Ottens
public void paintcomponent(Gra g) {
Graphics2D g2 = (Graphics2D) g;
far = getNewColor();
while ((semiColorIsSavedToList(far)){
far = getNewColor();
}
list.add(far);
g2d.setColor(far);
g2d.drawString(" neue Far ",250 , 20);
g2d.fillOval(250, 20, 200, 200);
}
public boolean semiColorIsSavedToList(Color farbe) {
for(int index = 0 ; index < liste.size() -1; index++ ){
Color pool = liste.get(index);
boolean erg =semiColorExist(farbe, pool);
return erg;
}
public boolean semiColorExist(Color farbe, Color pool){
int r = Math.abs(farbe.getRed() - pool.getRed());
int g = Math.abs(farbe.getGreen() - pool.getGreen());
int b = Math.abs(farbe.getBlue() - pool.getBlue());
if( r <= 50 || g <= 50 || b <= 50){
return true;
}
return false;
}
public Color getNewColor(){
Random rnd = new Random();
int rRnd = rnd.nextInt(256);
int gRnd = rnd.nextInt(256);
int bRnd = rnd.nextInt(256);
while((rRnd > 210) || (Math.abs(rRnd - vorfarbe.getRed())< 50)){
rRnd = rnd.nextInt(256);
}
while((gRnd > 200) || (Math.abs(gRnd - vorfarbe.getGreen())< 50)){
gRnd = rnd.nextInt(256);
}
while(bRnd < 150 || (Math.abs(bRnd - vorfarbe.getBlue())< 50)){
bRnd = rnd.nextInt(256);
}
Color farbe = new Color(rRnd,gRnd,bRnd);
return farbe;
}