Вопрос

Я звонил gc.setAntialias(SWT.ON); и это ничего не дает.Согласно этому методу, это должно сработать.

Javadoc заявляет:

Устанавливает сглаживание приемника значение параметра, которое должно быть одним из значений SWT.DEFAULT, SWT.ВЫКЛ. или SWT.ВКЛ..

У меня это не работает, и я рисую на простом холсте.

Это было полезно?

Решение

Следующее сработало для меня в приложении, которое я создал, и в моих предположениях о том, когда и как вы должны это сделать.

Итак, я создал новый GC, установил сглаживания, как это делали вы, а затем нарисовал то, что мне было нужно, с помощью этого объекта gc.Ключ в том, чтобы прикрепить его к оболочке, в которой вы будете рисовать.

GC gc = new GC(shell);
gc.setAntialias(SWT.ON); 
//then I attach to LightweightSystem for testing.
LightweightSystem lws = new LightweightSystem(shell);

В остальном убедитесь, что вы делаете это, прежде чем что-либо рисовать.Если вам придется вызвать это позже, возможно, попробуйте вызвать перекраску всего пространства.

Извините, без дополнительной информации я не уверен точно, что не так.

Другие советы

Следуя ответу Дербигги, вы также можете установить для расширенного параметра значение true.

gc.setAdvanced(true)

Кроме того, если вы рисуете надписи, убедитесь, что вы используете gc.setTextAntialias( SWT.ON );

Вы также можете проверить, есть ли gc.getAdvanced() возвращает true, это должно быть после setAntialias() или setTextAntialias был установлен.

Кроме того, исходя из этого, все довольно прямолинейно.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top