2009-11-05 2 views
2

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

В Javadoc состояние:

устанавливает приемник сглаживание значения параметра, который должен быть один из SWT.DEFAULT, SWT.OFF или SWT.ON.

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

ответ

4

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

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

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

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

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

2

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

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

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

2

Следуя за ответом derBiggi, вы также заставляете расширенную опцию true.

gc.setAdvanced(true) 
Смежные вопросы