Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание 1 часть_В1-В34.docx
Скачиваний:
1
Добавлен:
19.09.2019
Размер:
3.05 Mб
Скачать
  1. Отформатировать текст по стп мгупи. Оформить рисунки и программный кода

Мы добавляем в окно две кнопки JButton, и задаем для каждой из них текст подсказки, что автоматически приводит к регистрации кнопок в классе ToolTipManager. Для первой кнопки мы используем простой текст, который появится в виде однострочной подсказ­ки, шрифт и цвет которой зависят от текущих внешнего вида и расположения. Но вот для второй кнопки мы используем уже знакомый нам HTML-текст (помните, что начинать HTML-строку следует с символов <html>), и здесь у вас, так же как и в случае с надпися­ми, просто безграничные возможности. Вы можете задействовать любые возможности HTML версии 3.2 для создания краткой, но мощной системы помощи, действующей пря­мо «на лету». В примере мы применили стиль заголовка и маркированный список — эти

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

Помимо метода setToolTipText(), позволяющего задать для вашего компонента подсказку у вас есть еще пара методов, способных повлиять на ее вывод, — это методы getToolTipLocationi и getToolTipText(MouseEvent), определенные в базовом классе JComponent. Правда, пользовать­ся ими довольно неудобно, потому что соответствующего метода set нет, и для получения нужного эффекта их приходиться переопределять, что мы и сделали в нашем примере, соз­дав анонимный подкласс кнопки JButton. Метод getToolTipLocation() позволяет указать класо ToolTipManager, в каком месте экрана следует выводить подсказку относительно компонен­та, для которого подсказка выводится. Можно указывать различные места для подсказки в зависимости от события MouseEvent, по которому подсказка выводится. В примере мы указали, что подсказка должна выводиться на расстоянии 10 пикселов по осям X и Y от j верхнего левого угла нашей кнопки (можно указывать и отрицательные расстояния, это j будет означать, что вы хотите вывести подсказку не ниже компонента, как обычно, а вы- j ше). Правда, действует описанный механизм, только если подсказка выводится как легко­весный компонент, то есть когда ей хватает места в пределах окна нашего приложения В противном случае класс ToolTipManager сам решает, где удобнее ее разместить. Получен­ный эффект вы сможете наблюдать, запустив программу с примером: подсказка первой кнопки будет выводиться в разных местах, в зависимости от положения указателя мыши а для второй кнопки она всегда будет появляться на указанном нами расстоянии (если ея хватит места). Метод getToolTipText() позволяет выводить для одного и того же компонент; различные подсказки в зависимости от того, где пользователь задержал указатель мыии (координаты этого места позволяет узнать объект MouseEvent). Данный метод часто задей­ствуется сложными компонентами Swing, такими как списки или таблицы, состоящими ;с. многих элементов. С его помощью они обеспечивают вывод собственных подсказок дя* каждого элемента. По умолчанию он возвращает для любой точки текст, заданный мето- дом setToolTipText(), но переопределив этот метод, вы сможете изменить подобное поведи ние. В примере мы используем подсказку по умолчанию только для верхней части кнопка (высотой в 10 пикселов), а для нижней части возвращаем собственный текст.

Механизм работы всплывающих подсказок в Swing довольно прост. Как мы отмечали, при вызове метода setToolTipText() компонент регистрирует себя в клас:; ToolTipManager. Последний начинает следить за перемещениями мыши в компонен-с (причем для всех компонентов используется один и тот же слушатель событий от мыпа. поскольку для каждого события можно узнать его источник — компонент, к которою оно относится). Когда указатель мыши входит в область компонента (вызывается метод

слушателя mouseEntered()), класс ToolTipManager запускает таймер, при срабатывании кото­рого (если при этом не происходит движение мыши, иначе таймер запускается заново) на экран выводится подсказка. Подсказка создается в два этапа. Собственно компонент- подсказка JToolTip создается методом createToolTip(), имеющимся в любом компоненте Swing. Другой компонент (тот, что будет «всплывать» над остальными компонентами, в нем размещается подсказка JToolTip) создается с помощью вспомогательного класса PopupFactory. Этот класс определяет тип компонента (легковесный или тяжеловесный) и размещает его в нужном месте экрана (в слое POPUP_LAYER многослойной панели или в новом окне без рамки JWindow). Общую картину иллюстрирует рис. 8.1.

Рис. 8.1. Схема вывода всплывающей подсказки

Когда подсказка уже находится на экране, класс ToolTipManager запускает таймер exitTimer, при срабатывании которого она скрывается. Также во время нахождения под­сказки на экране ToolTipManager следит за фокусом компонента (с помощью слушателя FocusListener) и щелчками мыши. В случае если пользователь щелкает мышью, когда ее указатель находится на компоненте или подсказке, или компонент теряет фокус ввода, подсказка скрывается.

У вас есть возможностьуправлятьнекоторымиаспектами работы класса ToolTipManager. Прежде всего, вы можете переопределить метод createToolTip() в вашем компоненте, если вам понадобится предоставить для него какую-то особенную подсказку, но делать это слишком часто не рекомендуется. Лучше, если у приложения имеется единый продуман­ный облик, и подсказки в него органично вписываются. Если вас не устраивают подсказ­ки, предоставляемые используемым вашим приложением внешним видом, лучше всего написать для них новыйUI-представитель. С другой стороны, имеются стандартные ва­рианты настройки подсказок, и мы их сейчас рассмотрим.

  1. Отформатировать таблицу по СТП МГУПИ

  1. Отформатировать текст по СТП МГУПИ, ввести формулы с помощью инструмента MSEquation

Таким образом, утверждение теоремы справедливо и без предположе­ния (8).

Описанный выше метод регуляризации применим и в случае, когда некоторые из Хп могут обращаться в нуль.

Пусть N\ — множество п таких, что А„ > О, No — множество п таких, что Л„ = 0. (Каждое из этих множеств может быть как конечным, так и бесконечным; одновременно оба конечными быть не могут.)

Вариант № 19