Contar Valor por color Textfield java

hola amigos una duda, como cuento el valor de por color de jetextfiel
, es deicr contar por color y no por valor, supongamos que tengo una condicion en la cual yo pinto
una fila de 5 jextfield dependiuendo la condicion, pero lo que quiero es decir si yo pinto
de esa fila 3 rojos como contar esos tres rojos, es decir que me arroje el valor de "3" y no el valor que tiene dentro el jtextfield

aqui el codigo con el que pinto una fila de 5 jtetxfield

public void Fila16Seis(){
String cad1=jTextField227.getText();
int x1=Integer.parseInt(cad1);
int resta=x1;
String total=String.valueOf(resta);
this.jTextField228.setText(String.valueOf(total));
if(resta >= 12000){
jTextField228.setBackground(Color.RED);
jTextField228.setForeground(Color.RED);
}
}

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Algo como: for ( JTextField

Algo como:

for ( JTextField f : muchosTextFields() ) {
    if ( f.getBackground() == UN_COLOR ) {
       contadorDeEseColor++;
    }
}

respuesta !! no le entendi muybien a tu ciclo

no le entendi a la estructura

Quizá porque no coincide con

Quizá porque no coincide con lo que tu estas haciendo.

Pero es claro:

Para cada textField en una lista de text fields,
si el color de background es igual al color esperado
entonces incrementa el contador

respuesta

digamos entonces que nada pondria un contador en la parte de codigo que te envie

respuesta

ESTE ES EL CODIGO QUE ME ENVIASTE:

for ( JTextField f : muchosTextFields() ) {
if ( f.getBackground() == UN_COLOR ) {
contadorDeEseColor++;
}
}

_____________________________________________

ESTE EL CODIGO MIO con lo que logre entender de tu parte del codigo pero no se si esta bien
public void prueba(){
String cad1=jTextField191.getText();
String cad2=jTextField103.getText();
String cad3=jTextField104.getText();
String cad4=jTextField105.getText();
String cad5=jTextField106.getText();
String cad6=jTextField107.getText();
int x1=Integer.parseInt(cad1);
int x2=Integer.parseInt(cad2);
int x3=Integer.parseInt(cad3);
int x4=Integer.parseInt(cad4);
int x5=Integer.parseInt(cad5);
int x6=Integer.parseInt(cad6);
int promedio=x1+x2+x3+x4+x5+x6;
String total=String.valueOf(promedio);
this.jTextField108.setText(String.valueOf(total));
if(promedio <= 34018.31){
for(jTextField108=0; jTextField108<6; jTextField108++ ){
if(jTextField108.getgetBackground() == Color.RED){
Color ++;
}
}

jTextField108.setBackground(Color.RED);
jTextField108.setForeground(Color.RED);

}

//**********************************************

No, tendrías que declararlo

No, tendrías que declararlo antes.

Necesitas organizar mejor tu código porque es dificil de entender así como está ( tanto para mí como seguramente para tí )

Yo te recomiendo ( de nuevo ) que:

1. Aclares muy bien que es lo que quieres hacer primero
2. Pienses en papel y lapiz como lo harías o como piensas hacerlo
3. hagas un ejemplo muy muy pequeño para ver si lo que pensaste funciona o no.

Lo que te puede estar pasando es que entre la mar de código que estás tratando de modificar y entender y entre tanto copy/paste o cosas generadas se va haciendo cada vez más difícil avanzar.

Aquí esta un link de como reorganizar el código para que sea más legible, ojo no digo que sea fácil, especialmente cuando vas empezando y sin pruebas unitarias, pero al menos te dará una buena idea de lo que te estoy hablando.

Refactoring with Uncle Bob

Dura como 16 mins y aunque esté en inglés, miralo y observa como una función muy grande y compleja se va convirtiendo en pedacitos más manejables y claros.

Reorganizate, haz más simples las cosas, y acá sigo para ayudarte.

Saludos.