SWT Controls с предопределенными стилями - PullRequest
6 голосов
/ 05 марта 2012

Я хочу иметь в своем проекте SWT элементы управления (Button-s, Text-s и т. Д.) С предопределенными стилями. Моей первой идеей было расширить, например, класс org.eclipse.swt.widgets.Text, установить некоторые настройки и использовать эти новые классы вместо оригинальных, но получить исключение org.eclipse.swt.SWTException: Subclassing not allowed. Как это сделать правильно?

Ответы [ 2 ]

8 голосов
/ 05 марта 2012

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

@Override
protected void checkSubclass() {
    // Disable the check that prevents subclassing of SWT components
}

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

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

4 голосов
/ 05 марта 2012

См. SWT Faq для этой проблемы. Там вы также найдете ссылку, как написать пользовательские виджеты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...