2015-08-18 6 views
0

Примечание: robot.getcolor(int i, int j) просто return robot.getPixelColor(i,j);Сравнивая цвет в Java

void test2(int i, int j) 
{ 
    System.out.println(robot.getcolor(i,j)); 
    Color a = robot.getcolor(i,j); 
    Color b = new Color(91,108,201); 
    if(a == b) 
    { 
     System.out.println("success!"); 
    } 
    else 
    { 
     System.out.println("FAILURE"); 
    } 
} 

Если я сделаю это, то я получаю эту outprint:

java.awt.Color [г = 91, г = 108 , б = 201]

FAILURE

То, что я уже опробовали:

  • Сравнение двух цветов с работами ==.

  • Параметр Alpha не должен быть проблемой, так как его 255, и если я добавлю его в новый цвет (91,108,201,255), он все равно распечатывает FAILURE.

+7

'a.equals (б)', возможно? –

+1

Он ответил 5 лет назад здесь http://stackoverflow.com/questions/5761117/testing-if-colors-equal (0:! –

ответ

3

Попробуйте изменить линию 6 на что-то вроде if(a.equals(b)) {.

== сравнивает, если два объекта и тот же объект
.equals() сравнивает, если два объекта эквивалентны (как определено, что конкретный класс)
Заканчивать this для получения дополнительной информации

+0

Ты мой герой СПАСИБО –

+0

вы радушны, upvote всегда вознагражден за помощь! – beartech1

+0

My upvotes arent public jet :(Мне нужно 15 репутации, которые мне сказали (первый вопрос) –

Смежные вопросы