Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
public void paintComponent(Graphics gr) {
super.paintComponent(gr);
Graphics2D g2d = (Graphics2D) gr;
farbe = getNewColor();
// wenn die fARBE ODER eine ähnliche SCON DA IST, dann neue Farbe erstellen
while ((semiColorIsSavedToList(farbe) || liste.contains(farbe))){
farbe = getNewColor();
}
liste.add(farbe);
g2d.setColor(farbe);
g2d.drawString(" neue Farbe ",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());
// dieferenz zwiscjen den Farben >= 50
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);
// keine helle Farben
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;
}
System.out.println("Hallo");
public Color generateRandomColor(List<Color> allColors, int mindestAbstand)
throws Exception {
Color newColor = null;
for (int i = 0; i < 10000; i++) {
final Color possibleNewColor = new Color(
(int) (Math.random() * 0x01000000));
boolean found = false;
for (final Color c : allColors) {
if (Math.abs(c.getBlue() - possibleNewColor.getBlue()) < mindestAbstand
|| Math.abs(c.getRed() - possibleNewColor.getRed()) < mindestAbstand
|| Math.abs(c.getGreen() - possibleNewColor.getGreen()) < mindestAbstand) {
found = false;
break; // Farbe liegt zu nah an anderer Farbe!
} else {
found = true;
}
}
if (found) {
newColor = possibleNewColor;
break;// fertig, verlasse äußere Schleife
}
}
if (newColor == null) {
throw new Exception(
"Keine Farbe generiert, bitte kleinere Grenze wählen!");
}
return newColor;
}