2012-04-03 1 views
1

Я новичок в SWT. Есть две проблемы, которые заняли 3 дня решара, пытались, искали и искали. Это хороший способ узнать о новых вещах, но я полностью потрясен следующими двумя постоянными проблемами.SWT/JFace: Как установитьFont на StatusLine? Windowbuilder сломан?

Вопрос первый.

public class SWTMN extends ApplicationWindow 
{ 
    public final static Display d = new Display() ; 

    public SWTMN() 
     { 
      super(null); 
      Util.getImageRegistry() ; 

      addMenuBar(); 
      addStatusLine(); 

... и так далее. Позже ...

'SetStatus("This works fine!") ; // Works fine!! 

Я хочу изменить шрифта сообщений, отображаемых на строки статуса - и не может найти способ сделать это.

Вопрос второй.

Использование свежей установки Eclipse Indigo (обновлено), создающей новый проект (SWT/JFace-support), создающий новый SWT ApplicationWindow, все выглядит нормально. Новый файл доступен в редакторе, а компиляция - запуск создает новое, пустое окно, как и должно быть.

Нажав вкладку «Дизайн», вы увидите диалог модального прогресса с сообщением «Parsing ...», которое висит примерно на 15%. Окна редактора под сообщением о ходе работы заменяются общим сообщением о WindowsBuilder внутренняя ошибка - последняя строка, которая всегда

ClassCastException не может бросить org.eclipse.swt.shell.Shell к org.eclipse.swt.widget.Widget

(Потому что «разбор. .. "индикатор выполнения - приложение (buggering) modal, Eclipse теперь набит, и мне нужно заставить выйти. сообщение предлагает кнопки для повторного анализа, переключения на код, который заманчиво, и непригодный для использования).

Можете ли вы помочь мне получить Windowbuilder для запуска?

Большое спасибо за вашу помощь!

ответ

0

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

Мне кажется странным, что GUI-каркас, сфокусированный на хорошо выглядящем, будет иметь что-то настолько плохое, как статусная линия с шрифтом, который не соответствует остальной части приложения.

Идти цифра.

Я собираюсь использовать панель как пользовательскую панель инструментов, позиционируя ее в нижней части рамки.

Решение: Найдено, решил.

1

IStatusLineManager.setMessage() does not поддерживает текст в стиле форматирования.

Вы должны внести элемент в панель состояния.

Один из способов сделать это - переопределить метод fillStatusLineApplicationActionBarAdvisor и добавить свой пользовательский компонент SWT в статусную линию. В вашем случае, добавьте CLabel и создайте смелый Font и используя метод виджетов setFont.

Надеюсь, что руководство this поможет вам лучше понять решение.

+0

спасибо. Это сработало. Я должен сказать, что я был настроен скептически, но внимательно следил за советом, и это сработало. Должен сказать, что я смотрел на вклад в документах и ​​думал, что это слишком сложное решение для столь простой проблемы. Ваша помощь в ответе на этот вопрос решила мою текущую проблему и научила меня намного больше. Очень признателен! –

+0

Я тоже застрял в этой проблеме. Как вы «подключаете» ApplicationActionBarAdvisor и ApplicationWindow? – Unplug