Режим рисования (paint mode) определяет, как объекты рисуются в окне. По умолчанию, новый вывод в окно записывается поверх любого предварительно существующего содержания, то есть исходный цвет точки замещается цветом накладываемого на него рисунка. Однако можно выводить новые объекты с помощью метода setXORMode() со следующей сигнатурой:
void setXORMode (Color xorColor)
Здесь параметр xorColor определяет цвет, который будет использован в окне в режиме XOR, когда объект выводится. В XOR-режиме цвет результирующей точки определяется как результат операции ИСКЛЮЧАЮЩЕГО ИЛИ (XOR) над цветом рисования и исходным цветом той же точки. Преимущество XOR-режима состоит в том, что новый объект всегда будет видимым, независимо от того, какого цвета объект на нем нарисован. Например, белая линия на черном фоне в итоге дает белый цвет, а белая линия на белом фоне — черный.
Чтобы вернуться в режим перезаписи, вызовите метод setPaintMode() с форматом:
void setPaintMode ()
Вообще, следует использовать режим перезаписи для нормального вывода, и режим XOR — для специальных целей. Например, следующая программа отображает тонкий крестик, который прослеживает указатель мыши. Такой крестик выводится в окно в режиме XOR и всегда видим, независимо от того, каков лежащий под ним цвет.