Hallo,
ich habe ein Problem mit setBackground.
Die Methode farbverlauf() soll einen Farbverlauf zwischen zwei angegebenen Farben erzeugen. Angezeigt wird der Verlauf als Hintergrundfarbe eines JTextField (anzeigeGross).
Hierfür habe ich ersteinmal versucht eine Farbe Grün zu erzeugen und pro Schleifenumlauf den g-Wert der RGB-Farbe um eins zu verringern. Die Farbe soll jeweils angezeigt werden.
Genau da liegt das Problem, sobald die Methode gestartet wird verringert sich der g-Wert zwar, aber die Farbe wird nicht angezeigt, sie bleibt während des ganzen Schleifendurchlaufs auf der zuletzt angezeigten Farbe. Erst am Ende des Schleifendurchlaufs springt die Anzeige auf Schwarz.
Es scheint als würde der Befehl anzeigeGross.setBackground(farbe1) gar nicht durchlaufen, beim debuggen kann man aber sehen dass dies nicht der Fall ist.
Die Werte g und farbe1 ändern sich entsprechend, anzeigeGross ändert den Wert für Background
Kann mir jemand sagen wie ich die Hintergrundfarbe während des Schleifendurchlaufs anzeigen lassen kann?
ich habe ein Problem mit setBackground.
Die Methode farbverlauf() soll einen Farbverlauf zwischen zwei angegebenen Farben erzeugen. Angezeigt wird der Verlauf als Hintergrundfarbe eines JTextField (anzeigeGross).
Hierfür habe ich ersteinmal versucht eine Farbe Grün zu erzeugen und pro Schleifenumlauf den g-Wert der RGB-Farbe um eins zu verringern. Die Farbe soll jeweils angezeigt werden.
Genau da liegt das Problem, sobald die Methode gestartet wird verringert sich der g-Wert zwar, aber die Farbe wird nicht angezeigt, sie bleibt während des ganzen Schleifendurchlaufs auf der zuletzt angezeigten Farbe. Erst am Ende des Schleifendurchlaufs springt die Anzeige auf Schwarz.
Es scheint als würde der Befehl anzeigeGross.setBackground(farbe1) gar nicht durchlaufen, beim debuggen kann man aber sehen dass dies nicht der Fall ist.
Die Werte g und farbe1 ändern sich entsprechend, anzeigeGross ändert den Wert für Background
Kann mir jemand sagen wie ich die Hintergrundfarbe während des Schleifendurchlaufs anzeigen lassen kann?
Java:
private void farbverlaufTest() {
r=0;
g=255;
b=0;
farbe1 = new Color(0,255,0);
//Color farbe2 = new Color(0,0,255);
for (int p=0; p<255; p++){
anzeigeGross.setBackground(farbe1);
g -=1;
//System.out.println("g: "+g);
RGBtoHSV();
farbe1 = Color.getHSBColor((float)h,(float) s, v);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private void RGBtoHSV(){
float[] hsv = Color.RGBtoHSB(r, g, b, new float[3]);
h=hsv[0]*360;
s=hsv[1];
v=hsv[2];
}