Почему мне не изменяет цвет jTextField? Java

У меня есть формуляр, в котором я наполняю данные, которых я получаю от консультации SQL и я переворачиваю их в корреспондентах jTextField. Я хочу, чтобы, если стоимости v [3] 1, фон jTextField поместил себе зеленый цвет, и если его 0, фон jTextField поместил себе красный цвет.

Какая ошибка у меня есть благодаря тому, что только появляется цвет, инициал, и изменив каркасный метод изображения объекта, он не обновляет поле textfield_disponible?

Код:

private void jComboBox_bastidorItemStateChanged(java.awt.event.ItemEvent evt) {                                                    
        //Recogemos en la variable "bastidor" el valor seleccionado en el combobox con el método "getSelectedItem()".
        String bastidor = (String) jComboBox_bastidor.getSelectedItem();
        //Guardamos en un objecto "v" los datos del bastidor gracias a la función "Conexiones.datos_de_un_bastidor_alquiler(bastidor);".
        Object[] v = Conexiones.datos_de_un_bastidor_alquiler(bastidor);
        //Otorgamos a los campos jTextField los valores recogidos en el "Object[] v".
        textfield_marca.setText(String.valueOf(v[0]));
        textfield_marca.setEditable(false);
        textfield_modelo.setText(String.valueOf(v[1]));
        textfield_modelo.setEditable(false);
        textfield_matricula.setText(String.valueOf(v[2]));
        textfield_matricula.setEditable(false);
        textfield_disponible.setText(String.valueOf(v[3]));
        textfield_disponible.setEditable(false);
        String texto = String.valueOf(v[3]);

        if(texto == "1")
            textfield_disponible.setBackground(Color.GREEN);
        else
            textfield_disponible.setBackground(Color.RED);
}
1
задан 06.08.2017, 20:15
1 ответ

Так как твоя ошибка находится в условии if так как для compara ты должен использовать цепи equals, твой код должен бы быть чем-то как это:

textfield_disponible.setText(String.valueOf(v[3]));
textfield_disponible.setEditable(false);
String texto = String.valueOf(v[3]);
if(texto.equals("1"))
    textfield_disponible.setBackground(Color.GREEN);
else
    textfield_disponible.setBackground(Color.RED);
3
ответ дан 03.12.2019, 17:52

2 фактора:
1 - может, что estГ©s опуская урок, который дает цвета в эти объекты: import java.awt.*;

2 - ты пишешь капитализированный цвета: setbackground(color.Green) вместо setbackground(color.green) tambiГ©n она podrГ-схвати писать setbackground(color.GREEN)

-1
ответ дан 24.11.2019, 11:46

Проблема состоит в том, что твой цвет должен быть в Прописных буквах, так как это постоянная величина (и статика, поэтому не нужно instanciar класс Color).

textfield_disponible.setBackground(Color.GREEN);
1
ответ дан 03.12.2019, 17:52
  • 1
    Верный, что происходит, что, изменив стоимость поля combobox, стоимость varí в, но не varí в цвет, меня вытекают всегда инициал. –  04.01.2017, 14:36