Что JFace добавляет к SWT?

В чем разница между следующим:

  1. TreeViewer и дерево
  2. Просмотрщик таблиц и таблица
  3. TreeViewerColumn и TreeColumn
  4. TableViewerColumn и TableColumn

Когда использовать просмотрщик и обычный виджет?

PS: Было бы здорово, если бы вы помогли мне найти хороший ресурс для их понимания. Заранее спасибо!


person Reddy    schedule 26.02.2011    source источник


Ответы (1)


Вы могли бы озаглавить свой вопрос «Что JFace добавляет к SWT?».

Зрители от JFace, виджеты от SWT.

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

Давайте посмотрим, что на конкретных примерах, которые вы перечислили.

  1. Если вы создадите стандартный SWT-виджет, вам придется описать содержимое дерева (установить один или несколько верхних элементов, привязать несколько элементов дерева к каждому корню, возможно, добавить прослушиватель выбора), а затем управлять всеми его переходами. В этом дереве будет очень мало встроенной логики: просто свернуть/развернуть и выбрать слушателей. Точка.
    Это будет статическое дерево.
    TreeViewer позволит вам внедрить множество различных типов поведения в это дерево: как оно заполняется, фильтруется, как помечаются элементы дерева. .
    Вы сделаете это, зарегистрировав классы, соответствующие четко заданным интерфейсам (например, ILabelProvider позволит вам сопоставить метку TreeItem с именем файла в папке).
    Без TreeViewer построение приличного отзывчивого дерева будет много тяжелой работы. Таким образом, это упрощает сопоставление базовой иерархической модели реального мира с представлением дерева SWT.

  2. То же самое относится и к TableViewer. TableViewer позволяет вам добавить к вашей таблице некоторое пользовательское поведение. Как вы редактируете ячейку, например.

  3. Столбец дерева просмотра. Давным-давно (до версии 3.3) в деревьях SWT не было столбцов. В деревьях не было столбцов. В таблицах были столбцы, но они не расширялись/не сворачивались. Начиная с версии 3.3 вы можете добавлять столбцы в дерево. Вы делаете это лучше, добавляя TreeViewerColumn в свой TreeViewer, а не просто добавляя TreeColumn в дерево (что вам все еще нужно делать) по причинам, аналогичным приведенным выше, вы можете добавить поддержку для редактирования содержимого ячеек столбца и вы можете заполнить столбец (снова написав поставщика меток).

  4. Столбец просмотра таблиц. То же самое для TableViewers: добавлено управление редакцией и контентом.

Для документа SWT/JFace, пожалуйста, посмотрите.

  1. Зрители, принадлежащие JFace, а не собственно SWT, чтобы двигаться вперед, найдите учебные пособия по JFace в Google, и вы найдете множество примеров.

  2. Книга Стива Нортовера (отца SWT) "SWT: Стандартный набор инструментов для виджетов, том 1" (насколько мне известно, второго тома пока нет).

  3. «Eclipse: Создание подключаемых модулей коммерческого качества» Эрика Клайберга и Дэна Руба. Эрик стал вице-президентом Google и отцом WindowBuilder Pro.

  4. фрагменты SWT также помогают быстро освоить объекты SWT.

  5. Другие хорошие книги включают

    • "The Definitive Guide to SWT and JFace" by Rob Warner and Robert Harris
    • «SWT/JFAce Мэннинга в действии»
person Alain Pannetier    schedule 26.02.2011