Установка java-апплета для системы «банк-клиент онлайн. Java апплет не загружен что делать

Привет, любимый читатель.
Сегодня ты узнаешь как подписать JAVA апплет. Для начала скажу, что JAVA апплеты имеют ограниченную функциональность, пока они не подписаны. Например, неподписанные апплеты не могут:

Вариантов решения проблемы несколько:
1. Разрешить выполнение на каждой локальной машине клиентов. Для этого можно отредактировать файл java.policy, который находится в папке с установленным JRE (по умолчанию в C:\Program Files\Java\jre6\lib\security). И добавить необходимые разрешения. Например, чтобы разрешить все, что можно, нужно вставить строчку:

Grant { ... permission java.security.AllPermission; }

А если нужно разрешить только работу с буфером обмена для сайта hackmeplease.com :

Grant codeBase "http://hackmeplease.com/*" { permission java.awt.AWTPermission "accessClipboard"; };

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

2. Подписать свой Java-апплет. Итак, что имеем на входе:
- установленные JDK и JRE;
- jar-файл своего апплета (есть некоторые особенности написания исходного кода, см. ниже);
- желание работать с буфером обмена. Для этого нужно, чтобы корректно работала строчка:

Toolkit toolkit = Toolkit.getDefaultToolkit();
Clipboard clipboard = toolkit.getSystemClipboard();

В случае вызова этих строчек, из неподписанного апплета получим следующее исключение:
java.security.AccessControlException: access denied (java.awt.AWTPermission accessClipboard)

Итак, приступим:
0. Переходим в папку BIN нашего JDK (например, C:\Program Files\Java\jdk1.6.0_23\bin).
I. Создаем локальное хранилище нашего сертификата (keystore):
keytool -genkey -keystore .keystore -alias «Terrasoft» -validity 99999

99999 - срок в месяцах валидности сертификата;
.keystore - имя файла создаваемого хранилища.

В случае успешного запуска команды, система спросит нас пароль нашего хранилища, а также некоторую информацию о сертификате (твои ФИО, название компании, город, страну и группу крови)

В результате будем иметь файл.keystore. Это и есть наше хранилище, которым мы будем подписывать разные апплеты.
II. Копируем в папку BIN нашего JDK наш JAR-файл. Подписываем его с помощью следующей команды:
jarsigner.exe -keystore .keystore ClipboardLibrary.jar «Terrasoft»
где Terrasoft - название alias нашего сертификата;
.keystore - имя файла хранилища;
ClipboardLibrary.jar - название JAR-файла.
Система спросит нас пароль - вводим тот, что ввели в п. I.

Вроде как готово… Да щас, наивный…
Итак, при запуске страницы с нашим апплетом на борту пользователь получит дружественное сообщения вида:

Что означает, «Пользователь, нажми Да и попрощайся со своей системой, ибо мы сможем с ней делать, что захотим».
Кстати, обратите внимание на NOT VERIFIED. Означает, что у нас не доверительный сертификат. Чтобы получить доверительный, нужно обращаться в специальные службы в инете и даже платить деньгу.

Но вернемся к нашим баранам. При обращении к буферу обмена мы снова получим исключение вида:
java.security.AccessControlException: access denied (java.awt.AWTPermission accessClipboard)

Очень жаль. Ну что же, не получилось сейчас - получится в другой раз. До свидания.

Шучу. На самом деле на этом моменте останавливаются все руководства по подписыванию апплетов, которые я встречал. Мол, подписанному апплету ничего не страшно. Пусть им всем будет стыдно.
Короче, следующий финт для того, чтобы наше обращение к буферу обмена заработало:

III. Изменить исходный код.
Вместо вызова вида:
clipboard = toolkit.getSystemClipboard()
нужно написать вызов вида:
clipboard = (Clipboard) AccessController.doPrivileged(new PrivilegedAction() { public Object run() { return toolkit.getSystemClipboard(); } });
После этого нужно перекомпилировать свой JAR и повторить шаг II (тем, кто читал с конца мое сообщение - респект).

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

Эта статья больше не поддерживается, поэтому её содержание может устареть.

Многие веб-страницы используют Java-апплеты для показа интерактивного содержимого, такого как онлайн игры. Для того чтобы Firefox смог запускать Java-апплеты, необходимо корректно установить и включить Java-плагин. Java является языком программирования , который может работать на Windows, Mac, Linux и других операционных системах. Эта статья поможет вам установить или обновить Java и заставить его работать в Firefox.

  • Java не является тем же самым, что и JavaScript (для получения информации о JavaScript прочтите ).

Установка или обновление Java

Ручная установка или обновление

  1. Перейдите на страницу загрузки java.com .
  2. Нажмите на кнопку Загрузить Java бесплатно .
  3. Нажмите кнопку Согласиться и начать бесплатную загрузку для загрузки программы установки Java на ваш компьютер.
  4. Запустите загруженный вами файл для начала установки Java.

Автоматическое обновление

Java для Windows включает в себя функцию автоматического обновления, которая периодически проверяет наличие обновлений и уведомляет вас, когда для установки доступно обновление. Вы можете просмотреть или изменить свои параметры обновления во вкладке Update панели управления Java, где вы также можете проверить наличие обновлений вручную. Для получения более подробной информации, посетите страницу Справки Java, Что такое автоматическое обновление Java? Как изменить настройки уведомления? .

Для устранения потенциальных уязвимостей безопасности и экономии места на диске, вам следует удалить все старые версии Java, которые могут быть ещё установлены. Для получения большей информации обратитесь к странице Помощи по Java Как удалить Java с компьютера на базе ОС Windows? .

На Mac OS X 10.6 и ниже

Java установлена вместе с операционной системой. Для обновления Java, используйте функцию обновления Mac OS X .

На Mac OS X 10.7 и выше

Java по умолчанию не установлена. Для установки последней версии Java, перейдите на страницу загрузки java.com . Для получения сведений о системных требованиях и инструкций по установке обратитесь к странице Помощи по Java Как установить Java на моем компьютере Mac? .

Для обновления Java, перейдите в ваши Системные Настройки Apple, щёлкните по значку Java чтобы запустить панель управления Java, затем перейдите к вкладке Обновить и нажмите кнопку Обновить сейчас . Для получения дополнительной информации обратитесь к странице Помощи по Java Как обновить Java на моем компьютере Mac? .

Тестирование Java

Чтобы проверить, установлена и включена ли Java в Firefox, посетите одну из этих страниц для тестирования Java:

  • Проверка версии Java (альтернатива)

Примечание: Когда вы посещаете страницы с содержанием Java, в том числе страницы для тестирования, вам будет предложено активировать Java для ее работы. Вы должны разрешать работу Java только на доверенных сайтах . Вы также можете увидеть предупреждение системы безопасности Java, которая спросит подтверждение на запуск Java. Это сообщение безопасности от Java, а не Firefox. Для получения дополнительной информации обратитесь к странице Помощи по Java Что нужно делать при появлении предупреждения системы безопасности Java? .

Включение Java

Если Java не работает, убедитесь, что плагин Java включён в Менеджере дополнений:

Примечание: Вам нужно включить только плагин "Java(TM) Platform", если он был отключён. Плагин "Java Deployment Toolkit" используется разработчиками Java для определения версии Java и развертывания Java-приложений и не обязан быть включён для работы Java.

Решение проблем

Если Java установлена, но не работает, попробуйте эти решения:

Плагин Java не появляется в окне управления дополнениями

Если плагин Java не появляется в окне управления дополнениями, даже если Java установлена, попробуйте каждое из следующих действий, выполняя их по одному, а затем снова открывая Firefox, чтобы проверить, решило ли это проблему:

Удалите файл pluginreg.dat

Убедитесь, что Firefox не находится в 32-битном режиме

Плагин Java 7 работает только в 64-битных браузерах, так что убедитесь, что вы не запустили Firefox в 32-битном режиме.

  1. Откройте папку Программы в Finder
  2. Щёлкните правой кнопкой мыши Удерживая клавишу Control , щёлкните мышью. по Firefox.app
  3. Выберите Свойства

Убедитесь, что флажок перед Открыть в 32-битном режиме не установлен (если это так, снимите флажок).

Убедитесь Java включена в панели управления Java

Убедитесь что установлена 32-битная версия Java

На 64-битной Windows, если у вас установлена только 64-битная версия Java, плагин Java доступен не будет. Текущие релизы Firefox являются 32-битными браузерами, и вам нужно установить 32 -битную версию Java.

Убедитесь что не отключено сканирование плагинов

Браузеры Mozilla используют сканирование плагинов для поиска установленных плагинов, так что вы должны убедиться, что настройка plugin.scan.plid.all не была отключена:

  1. В адресной строке наберите about:config и нажмите Enter Return .

    • Может появиться страница предупреждения about:config "Будьте осторожны, а то лишитесь гарантии!" . Щёлкните по Я принимаю на себя риск! , чтобы перейти на страницу about:config.
  2. Найдите настройку plugin.scan.plid.all
  3. Если она была установлена в false , щёлкните правой кнопкой мыши по ней и выберите "Сбросить".

Удалите JavaFX, если он установлен

В некоторых случаях, после обновления с ранних версий Java на Java 7 Update 10 или выше, возникают проблемы с обнаружением плагина Java(TM) Platform . Это может быть вызвано конфликтом Java с автономной установкой JavaFX, которая препятствует корректной регистрации в системе плагина Java. Чтобы решить эту проблему, удалите JavaFX. Для получения дополнительной информации обратитесь к этой

Скачать и установить java апплет

Для установки и последующей настройки КриптоПро системы «Банк-клиент Онлайн» вам потребуется скачать java апплет для «ВТБ 24». Скачать можно бесплатно на страничке http://www.java.com/ru/ . Этот компонент понадобиться, если вы будите использовать в своей работе такие браузеры, как Mozilla Firefox, Opera, Internet Explorer. Но это не единственные браузеры, которые поддерживает данная система.

Установка java апплет проходит в два этапа:

  1. это установка самой платформы yava SE Runtime Environment;
  2. установка java апплета.

Если java стоит на вашем персональном компьютере, первый этап следует пропустить. Кстати, ПК не попросит вас установить данный компонент. Установка проходит в пять шагов:

  1. нажмите «Загрузить» скрипт;
  2. нажмите «Согласиться и начать загрузку»: файл с расширением.exe для операционной системы Windows;
  3. далее следует «Сохранить» полученный файл и запустить его (щелкнув два клика левой клавишей мышки);
  4. нажмите кнопку «Install»;
  5. после того, как процесс установки завершится, вам останется нажать на кнопку «Close». Это будет означать, что установка завершилась.

Настройка скрипта

Настройка осуществляется через «Пуск» в «Панеле управления». Затем откройте контрольную панель. Вам останется только произвести отключение протоколов: TLS 1.1 и TLS 1.2. Сделать это просто: снимите с них галочки напротив. Аналогичным образом отключаем «Use SSL 2.0 compatible ClientHello format». Все готово.

Апплеты - это маленькие приложения, которые размещаются на серверах Internet, транспортируются клиенту по сети, автоматически устанавливаются и запускаются на месте, как часть документа HTML. Когда апплет прибывает к клиенту, его доступ к ресурсам ограничен.

Ниже приведен исходный код канонической программы HelloWorld, оформленной в виде апплета:

import java.awt.*;
import java.applet.*;
public class HelloWorldApplet extends Applet {

g.drawString("Hello World!", 20, 20);
} }

Этот апплет начинается двумя строками, которые импортируют все пакеты иерархий java.applet и java.awt. Дальше в нашем примере присутствует метод paint, замещающий одноименный метод класса Applet. При вызове этого метода ему передается аргумент, содержащий ссылку на объект класса Graphics. Последний используется для прорисовки нашего апплета. С помощью метода drawString, вызываемого с

этим объектом типа Graphics, в позиции экрана (20,20) выводится строка “Hello World”.

Для того, чтобы с помощью браузера запустить этот апплет, нам придется написать несколько строк html-текста.


Вы можете поместить эти строки в отдельный html-файл (HelloWorldApplet.html ) , либо вставить их в текст этой программы в виде комментария и запустить программу appletviewer с его исходным текстом в качестве аргумента.

Тег HTML

Тег используется для запуска апплета как из HTML-документа, так и из программы appletviewer. Программа appletviewer выполняет каждый найденный ей тег в отдельном окне, в то время как браузеры позволяют разместить на одной странице несколько апплетов. Синтаксис тэга E T> в настоящее время таков:

CODE = appletFile
OBJECT = appletSerialFile
WIDTH = pixels
HEIGHT = pixels



>
[< PARAM NAME = AttributeNamel VALUE = AttributeValuel >]
[< PARAM NAME = AttributeName2 VALUE = AttributeValue2 >]

CODE = appletClassFile

обязательный атрибут, задающий имя файла, в котором содержится оттранслированный код апплета. Имя файла задается относительно codebase, то есть либо от текущего каталога, либо от каталога, указанного в атрибуте CODEBASE. В Java 1.1 вместо этого атрибута может использоваться атрибут OBJE CT.

OBJECT = appletClassSerialFile

Указывает имя файла, содержащего сериализованный апплет, из которого последний будет восстановлен. При запуске определяемого таким образом апплета должен вызываться не метод init(), а метод start(). Для апплета необходимо задать либо атрибут CODE, либо атрибут OBJECT, но задавать эти атрибуты одновременно нельзя.

WIDTH и HEIGHT - обязательные атрибуты, задающие начальный размер видимой области апплета.

ARCHIVE = jarFiles

Задает список jar-файлов (разделяется запятыми), которые предварительно загружаются в Web-броузер. В этих архивных файлах могут содержаться файлы классов, изображения, звуки и любые другие ресурсы, необходимые апплету. Для создания архивов используется утилита JAR, синтаксис вызова которой напоминает вызов команды TAR Unix (подробное описание утилит смотрите в

Приложении 1 ) :

c:\> jar cf soundmap.jar *.class image.gif sound.wav

Очевидно, что передача сжатых jar-файлов повышает эффективность работы. Поэтому многие средства разработки (Lotus JavaBeans, Borland JBuilder) уже имеют средства для публикации апплетов в виде jar-файлов.

CODEBASE = codebaseURL

необязательный атрибут, задающий базовый URL кода апплета, являющийся каталогом, в котором будет выполняться поиск исполняемого файла апплета (задаваемого в признаке CODE). Если этот атрибут не задан, по умолчанию используется каталог данного HTML-документа. CODEBASE не обязательно должен указывать на тот же узел, с которого был загружен H TML-документ.

ALT = alternateAppletText

Признак ALT - необязательный атрибут, задающий короткое текстовое сообщение, которое должно быть выведено в том случае, если используемый браузер распознает синтаксис тега , но выполнять апплеты не умеет. Это не то же самое, что HTML-текст, который можно вставлять между и для браузеров, вообще не поддерживающих апплетов.

NAME = appletInstanceName

необязательный атрибут, используемый для задания имени для данного экземпляра апплета. Присвоение апплетам имен необходимо для того, чтобы другие апплеты на этой же странице могли находить их и общаться с ними. Для того, чтобы получить доступ к подклассу MyApplet класса Applet с именем “Duke”, нужно написать:

MyApplet a = getAppletContext().getApplet("Duke");

После того, как вы получили таким образом дескриптор именованного экземпляра апплета, вы можете вызывать его методы точно так же, как это делается с любым другим объектом.

ALIGN = alignment

необязательный атрибут, задающий стиль выравнивания апплета. Этот атрибут трактуется так же, как в теге IMG, возможные его значения - LEFT, RIGHT, TOP, TEXTTOP, MIDDLE, ABSMIDDLE, BASELINE, BOTTOM, ABSBOTTOM.

Эти необязательные атрибуты задают ширину свободного пространства в пикселях сверху и снизу апплета (VSPACE), и слева и справа от него (HSPACE). Они трактуются точно так же, как одноименные атрибуты тега IMG.

PARAM NAME = appletAttribute1 VALUE = value1

Этот тег дает возможность передавать из HTML-страницы апплету необходимые ему аргументы. Апплеты получают эти атрибуты, вызывая метод getParameter(), описываемый ниже.

Передача параметров

getParameter(String)

Метод getParameter возвращает значение типа String, соответствующее указанному имени параметра. Если вам в качестве параметра требуется значение какого-либо другого типа, вы должны преобразовать строку-параметр самостоятельно. Вы сейчас увидите некоторые примеры использования метода getParameter для извлечения параметров из приведенного ниже примера:


Ниже показано, как извлекается каждый из этих параметров:

String FontName = getParameter("fontName");
String FontSize = Integer.parseInt(getParameter("fontSize"));
String Leading = Float.valueOf(getParameter("leading"));
String PaidUp = Boolean.valueOf(getParameter("accountEnabled"));

Контекст апплета

Base и getCodeBase

Возможно, Вы будете писать апплеты, которым понадобится явно загружать данные и текст. Java позволяет апплету загружать данные из каталога, в котором располагается HTML-документ, запустивший апплет (база документа - getDocumentBase), и из каталога, из которого был загружен class-файл с кодом апплета (база кода - getCodeBase).

AppletContext и showDocument

AppletContext представляет собой средства, позволяющие получать информацию об окружении работающего апплета. Метод showDocument приводит к тому, что заданный его параметром документ отображается в главном окне браузера или фрейме.

Отладочная печать

Отладочную печать можно выводить в два места: на консоль и в статусную строку программы просмотра апплетов. Для того, чтобы вывести сообщение на консоль, надо написать:

System.out.println(“Hello there, welcome to Java”);

Сообщения на консоли очень удобны, поскольку консоль обычно не видна пользователям апплета, и в ней достаточно места для нескольких сообщений. В браузере Netscape консоль Java доступна из меню Options, пункт “Show Java Console”.

Метод showStatus выводит текст в статусной области программы арpletviewer или браузера с поддержкой Java. В статусной области можно вывести только одну строку сообщения.

Порядок инициализации апплета

Ниже приведен порядок, в котором вызываются методы класса Applet, с пояснениями, нужно или нет переопределять данный метод.

Метод init вызывается первым. В нем вы должны инициализировать свои переменные.

Метод start вызывается сразу же после метода init. Он также используется в качестве стартовой точки для возобновления работы после того, как апплет был остановлен. В то время, как метод init вызывается только однажды - при загрузке апплета, start вызывается каждый раз при выводе HTML-документа, содержащего апплет, на экран. Так, например, если пользователь перейдет к новой WWW-странице, а затем вернется назад к странице с апплетом, апплет продолжит работу с метода start.

Метод paint вызывается каждый раз при повреждении апплета. AWT следит за состоянием окон в системе и замечает такие случаи, как, например, перекрытие окна апплета другим окном. В таких случаях, после того, как апплет снова оказывается видимым, для восстановления его изображения вызывается метод paint.

Используемый по умолчанию метод update класса Applet сначала закрашивает апплет цветом фона по умолчанию, после чего вызывает метод paint. Если вы в методе paint заполняете фон другим цветом, пользователь будет видеть вспышку цвета по умолчанию при каждом вызове метода update

- то есть, всякий раз, когда вы перерисовываете апплет. Чтобы избежать этого, нужно заместить метод update. В общем случае нужно выполнять операции рисования в методе update, а в методе paint, к которому будет обращаться AWT, просто вызвать update.

Метод stop вызывается в тот момент, когда браузер покидает HTML-документ, содержащий апплет. При вызове метода stop апплет еще работает. Вы должны использовать этот метод для приостановки тех подпроцессов, работа которых необязательна при невидимом апплете. После того, как пользователь снова обратится к этой странице, вы должны будете возобновить их работу в методе start.

Метод destroy вызывается тогда, когда среда (например, браузер Netscape) решает, что апплет нужно полностью удалить из памяти. В этом методе нужно освободить все ресурсы, которые использовал апплет.

Перерисовка

Возвратимся к апплету HelloWorldApplet. В нем мы заместили метод paint, что позволило апплету выполнить отрисовку. В классе Applet предусмотрены дополнительные методы рисования, позволяющие эффективно закрашивать части экрана. При разработке первых апплетов порой непросто понять, почему метод update никогда не вызывается. Для инициации update предусмотрены три варианта метода repaint.

Метод repaint используется для принудительного перерисовывания апплета. Этот метод, в свою очередь, вызывает метод update. Однако, если ваша система медленная или сильно загружена, метод update может и не вызваться. Близкие по времени запросы на перерисовку могут объединяться AWT, так что метод update может вызываться спорадически. Если вы хотите добиться ритмичной смены кадров изображения, воспользуйтесь методом repaint(time) - это позволит уменьшить количество кадров, нарисованных не вовремя.

Вы можете вызывать метод repaint, устанавливая крайний срок для перерисовки (этот период задается в миллисекундах относительно времени вызова repaint).

repaint(x, y, w, h)

Эта версия ограничивает обновление экрана заданным прямоугольником, изменены будут только те части экрана, которые в нем находятся.

repaint(time, x, у, w, h)

Этот метод - комбинация двух предыдущих.

Задание размеров графических изображений.

Графические изображения вычерчиваются в стандартной для компьютерной графики системе координат, в которой координаты могут принимать только целые значения, а оси направлены слева направо и сверху вниз. У апплетов и изображений есть метод size, который возвращает объект Dimension. Получив объект Dimension, вы можете получить и значения его переменных width и height:

Dimension d = size();
System.out.println(d. width + "," + d.height);

Простые методы класса Graphics

У объектов класса Graphics есть несколько простых функций рисования. Каждую из фигур можно нарисовать заполненной, либо прорисовать только ее границы. Каждый из методов drawRect, drawOval, fillRect и fillOval вызывается с четырьмя параметрами: int x, int y, int width и int height. Координаты х и у задают положение верхнего левого угла фигуры, параметры width и height определяют ее границы.

drawline(int x1, int у1, int х2, int у2)

Этот метод вычерчивает отрезок прямой между точками с координатами (х1,у1) и (х2,у2). Эти линии представляют собой простые прямые толщиной в 1 пиксель. Поддержка разных перьев и разных толщин линий не предусмотрена.

drawArc и fillArc

Форма методов drawArc и fillArc следующая:

drawArc(int x, int у, int width, int height, int startAngle, int sweepAngle)

Эти методы вычерчивают (fillArc заполняет) дугу, ограниченную прямоугольником (x,y,width, height), начинающуюся с угла startAngle и имеющую угловой размер sweepAngle. Ноль градусов соответствует положению часовой стрелки на 3 часа, угол отсчитывается против часовой стрелки (например, 90 градусов соответствуют 12 часам, 180 - 9 часам, и так далее).

drawPolyson и fillPolyson

Прототипы для этих методов:

drawPolygon(int, int, int)

fillPolygon(int, int, int)

Метод drawPolygon рисует контур многоугольника (ломаную линию), задаваемого двумя массивами, содержащими х и у координаты вершин, третий параметр метода - число пар координат. Метод drawPolygon не замыкает автоматически вычерчиваемый контур. Для того, чтобы прямоугольник получился замкнутым, координаты первой и последней точек должны совпадать.

Цветовая система AWT разрабатывалась так, чтобы была возможность работы со всеми цветами. После того, как цвет задан, Java отыскивает в диапазоне цветов дисплея тот, который ему больше всего соответствует. Вы можете запрашивать цвета в той семантике, к которой привыкли - как смесь красного, зеленого и голубого, либо как комбинацию оттенка, насыщенности и яркости. Вы можете использовать статические переменные класса Color.black для задания какого-либо из общеупотребительных цветов - black, white, red, green, blue, cyan, yellow, magenta, orange, pink, gray, darkGray и lightGray.

Для создания нового цвета используется один из трех описанных ниже конструкторов.

Color(int, int, int)

Параметрами для этого конструктора являются три целых числа в диапазоне от 0 до 255 для красного, зеленого и голубого компонентов цвета.

У этого конструктора - один целочисленный аргумент, в котором в упакованном виде заданы красный, зеленый и голубой компоненты цвета. Красный занимает биты 16-23, зеленый - 8-15, голубой - 0-7.

Color(float, float, float)

Последний из конструкторов цвета, Color(float, float, float), принимает в качестве параметров три значения типа float (в диапазоне от 0.0 до 1.0) для красного, зеленого и голубого базовых цветов.

Методы класса Color

HSBtoRGB(float, float, float)
RGBtoHSB(int, int, int, float);
}
} }

В предыдущих примерах использовался метод drawString(String, x, у). Этот метод выводит строку с использованием текущих шрифта и цвета. Точка с координатами (х,у) соответствует левой границе базовой линии символов, а не левому верхнему углу, как это принято в других методах рисования. Для того, чтобы понять, как при этом располагается описывающий строку прямоугольник, прочтите раздел о метрике шрифта в конце этой главы.

Использование шрифтов

Конструктор класса Font создает новый шрифт с указанным именем, стилем и размером в пунктах:

Font StrongFont = new Font("Helvetica", Font.BOLD|Font.ITALIC, 24);

В настоящее время доступны следующие имена шрифтов: Dialog, Helvetica, TimesRoman, Courier и Symbol. Для указания стиля шрифта внутри данного семейства предусмотрены три статические переменные. - Font.PLAIN, Font.BOLD и Font.ITALIC, что соответствует обычному стилю, курсиву и полужирному.

Теперь давайте посмотрим на несколько дополнительных методов.

getFamily и getName

Метод getFamily возвращает строку с именем семейства шрифтов. С помощью метода getName можно получить логическое имя шрифта.

Этот метод возвращает целое число, представляющее собой размер шрифта в пунктах.

Этот метод возвращает целое число, соответствующее стилю шрифта. Полученный результат можно побитово сравнить со статическими переменными класса Font: - PLAIN, BOLD и ITALIC.

isBold, isItalic, isPlain

Эти методы возвращают true в том случае, если стиль шрифта - полужирный (bold), курсив (italic) или обычный (plain), соответственно.

Позиционирование и шрифты

: FontMetrics

В Java используются различные шрифты, а класс FontMetrics позволяет программисту точно задавать положение выводимого в апплете текста. Прежде всего нам нужно понять кое-что из обычной терминологии, употребляемой при работе со шрифтами:

  • Высота
  • (height) - размер от верхней до нижней точки самого высокого символа в шрифте.
  • Базовая линия
  • (baseline) - линия, по которой выравниваются нижние границы символов (не считая снижения (descent)).
  • Подъем
  • (ascent) - расстояние от базовой линии до верхней точки символа.
  • Снижение
  • (descent) - расстояние от базовой линии до нижней точки символа.

Использование FontMetrics

Ниже приведены некоторые методы класса FontMetrics:

Этот метод возвращает длину заданной строки для данного шрифта.

bytesWidth, charsWidth

Эти методы возвращают ширину указанного массива байтов для текущего шрифта.

getAscent, getDescent, getHeight

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

getMaxAscent и getMaxDescent

Эти методы служат для получения максимальных подъема и снижения всех символов в шрифте.

Центрирование текста

Давайте теперь воспользуемся методами объекта FontMetrics для получения подъема, снижения и длины строки, которую требуется нарисовать, и с помощью полученных значений отцентрируем ее в нашем апплете.

/*
*
*

*
*/
import java.applet.*;
import java.awt.*;
public class HelloWorld extends Applet {
final Font f = new Font("Helvetica", Font.BOLD, 18);
public void paint(Graphics g) {
Dimension d = this.size();
g.setColor(Color.white);
g.fillRect(0,0,d.width,d.height);
g.setColor(Color.black);
g.setFont(f);
drawCenteredString("Hello World!", d.width, d.height, g);
g.drawRect(0,0,d.width-1,d.height-1);
}
public void drawCenteredString(String s, int w, int h, Graphics g) {
FontMetrics fm = g.getFontMetrics();
int x = (w - fm.stringWidth(s)) / 2;
int y = (fm.getAscent() + (h - (fm.getAscent() + fm.getDescent()))/2);
g.drawString(s, x, y);
} }

Вот как выглядит апплет в действии –

Инструкция по установке

Java-апплета

Версия 1.4

Общие положения

2. Этап 1. Установка платформы Java SE Runtime Environment

2.2. Открытие окна настроек Java

2.3. Настройка Java

2.4. Просмотрверсии Java

3. Этап 2. Установка Java-апплета

3.1. Просмотр установленного апплета

3.2 Переустановка апплета

4. Настройка браузеров

4.5. Internet Explorer

5.1. Выбор папки с сертификатом на диске через окно выбора каталога

5.2. Выбор папки с сертификатом насъемном диске в MacOS

Приложение 2. Решение проблем

Приложение 3. Поведение системы при обращении из различных браузеров

Общие положения Цель документа В настоящей инструкции описана установка и настройка криптографического компонента системы Банк-клиент онлайн, необходимого при использовании браузеров Mozilla Firefox, Opera, Safariи Internet Explorer.

Поддерживаемые браузеры Система «ВТБ24 Бизнес Онлайн» (далее - ВТБ24 БО) поддерживает работу со следующими браузерами:



Microsoft Internet Explorer версия 11 на Windows 7 и выше.

Mozilla Firefox версия 31 и выше на Windows 7 и выше.

Safari версии 7 и выше на Mac OS X 10.9, 10.10, 10.11;

Google Chrome версии 40-44 на Windows 7 и выше.

Opera версии 28-34 на Windows 7 и выше.

1. Порядок установки Java-апплета

Установка Java-апплета проводится в 2 этапа:

Этап 1. Установка платформы Java SE Runtime Environment Этап 2.

Установка Java-апплета В случае если Java уже установлена на компьютере этап 1 выполнять не потребуется (можно пропустить Раздел 2.1 данной Инструкции и перейти сразу к Разделу 2.2). При этом не будет отображаться предложение скачать и установить Java на странице входа в систему ВТБ24 БО (ниже полей ввода логина и пароля).

2. Этап 1. Установка платформы Java SE Runtime Environment После загрузки страницы входа в систему ВТБ24 БО https://bo.vtb24.ru/ появится следующее сообщение:

Для установки платформы Java SE Runtime Environment 7, перейдите по ссылке http://www.java.com/ru/ (можно со страницы входа https://bo.vtb24.ru/) Блок «Вы можете скачать последнюю версию Java здесь: http://www.java.com/ru/»

отображается автоматически, если в обновлении Java есть необходимость.

Шаг 1. Нажмите «Загрузить Java бесплатно»

Шаг 2. Нажмите «Согласиться и начать бесплатную загрузку».

Для операционной системы MS Windows осуществляется загрузка файла с расширением exe. Для операционной системы МасOS будет загружаться файл с расширением dmg (например, jre-8u25-macosx-x64-2.dmg).

Шаг 3. Сохраните и запустите загруженный файл:

Внимание! Для установки приложения потребуются права Администратора.

Шаг 4. В появившемся окне нажмите кнопку «Install»:

После чего начнется процесс загрузки компонентов платформы:

Шаг 5. В новом окне нажмите кнопку «Close»:

Установка завершена.

2.2. Открытие окна настроек Java Для просмотра/изменения настроек Java в операционной системе MSWindows в «Панели управления» операционной системы дважды кликните левой кнопкой мышки на значке

В операционной системе MacOSв нижней части панели «Системные настройки» кликните левой кнопкой мышки на значке Java:

2.3. Настройка Java В окне Java Control Panel (открытом в соответствии с Разделом 2.2 настоящей Инструкции) на закладке «Advanced» выберите ветвь «AdvancedSecuritySettings» (либо просто Security – в русской версии «Безопасность»), в которой:

1) Отключите протоколы TLS 1.1 и TLS 1.2 (уберите соответствующие галки напротив указанных протоколов):

2) Отключите «Use SSL 2.0 compatible ClientHello format»

2.4. Просмотр версии Java Для просмотра версии Java в окне JavaControlPanel на вкладке «General» нажмите кнопку «About»:

После чего должно появиться окно с информацией о версии Java.

Пример:

3. Этап 2. Установка Java-апплета На странице входа в систему ВТБ24 БО (https://bo.vtb24.ru/) при нажатии кнопки выбора каталога ключевого носителя система автоматически загрузит Java-апплет:

При этом система установит в хранилище апплетов файл bo.jar.

3.1. Просмотр установленного апплета Для просмотра списка установленных апплетов откройте панель настройки Java (как описано в Разделе 2.2 настоящей Инструкции). В появившемся окне нажмите кнопку «View…»:

В поле «Show» выберите пункт «Applications»:

В списке приложений должен отображаться «BO Applet»:

Для закрытия окна нажмите кнопку «Close».

3.2 Переустановка апплета Для того, чтобы осуществить переустановку апплета, требуется его удалить. Для этого выберите апплет «BOApplet» в списке и вызовите контекстное меню, нажав правую кнопку мыши. В меню выберите «Delete»:

После закрытия окна со списком установленных апплетов перезапустите браузер, зайдите на страницу входа в сиcтему ВТБ24 БО и повторите действия Раздела 4 данного документа.

4. Настройка браузеров В случае возникновения окна предупреждения «Внимание. Java апплет не загружен» при нажатии на кнопку «…»проверьте наличие Java и её настройки (пункт 2.3 и 3.1 данного документа)

4.1. Firefox Нажмите на иконку

В выпадающем меню выберите статус настроек «Разрешить и запомнить»:

–  –  –

Зайдите в настройки браузера, нажав на иконку

Выберите пункт «Дополнения», подпункт «Плагины»:

Проставьте по всем подпуктам Java статус «Включать по запросу»:

Откройте настройки браузера:

В пункте «Плагины» выберите отметку «Запускать все содержимое плагинов (рекомендуется)»:

4.4. Safari На странице регистрации в системе ВТБ24 БО https://bo.vtb24.ru/ Выберите меню «Safari»- «Настройки»- «Безопасность»

В появившемся окне нажмите на кнопку «Настроить веб-сайт»:

В левом списке диалога выберите «Java».

В правом списке для сайта bo.vtb24.ru задайте режим «Вкл.».

Нажать клавишу ALT и удерживая её курсор мыши навести на ВКЛ и нажать кнопку мыши. Появиться выпадающее меню, в котором выбрать «Запустить в безопасном режиме»

Нажмите кнопку «Готово» и перезагрузите страницу.

4.5. Internet Explorer В настройках браузера выберите (Сервис-Свойства обозревателя-Дополнительно)

Снимите отметку SSL 2.0 и отключите использование протоколов TLS 1.1 и 1.2:

В появившемся окне выберите «Запуск без получения разрешения». В списке надстроек найдите «Java Plug-in 11.31.2». Состояние данной надстройки должно быть «Включено».

5. Особенности интерфейса Java-апплета

5.1. Выбор папки с сертификатом на диске через окно выбора каталога Особенностью работы с интерфейсом Java- апплета является отображение корневого каталога «Desktop».

Для выбора диска (С, D или другого), выберите из списка папок «Этот компьютер»:

5.2. Выбор папки с сертификатом насъемном диске вMacOS Для пользователей операционной системы IOS X выбор сертификата на внешнем носителе осуществляется следующим образом:

Выберите локальный диск и на нем папку Volumes:

Выбранная папка будет содержать, в том числе, и внешний носители:

Приложение 1. Часто задаваемые вопросы (FAQ)

–  –  –

Приложение 2.

Решение проблем Сбор информации В случае возникновения проблем с работой Java апплета через «Панель управления» (для Windows) и «Системные настройки» (для IOSX) зайдите в настройки Java, выберите вкладку «Advenced» и включите следующие пункты:

Show console Enable tracing Enable logging

Show applet lifecycle exceptions:

Данные по trace находятся в следующих каталогах.

Для Windows 2003 и выше:

c:\Users\[ТЕКУЩИЙ_ПОЛЬЗОВАТЕЛЬ]\AppData\LocalLow\Sun\Java\Deployment\log\plugi n*.trace

Для Windows XP и выше:

c:\[ТЕКУЩИЙ_ПОЛЬЗОВАТЕЛЬ]\ApplicationData\ Sun\Java\Deployment\log\plugin*.trace Для IOSXданные берутся из JavaConsole нажатием кнопки «Copy».

При запуске браузера появится окно.

Для копирования информации нажать кнопку «Copy»:

Для определения версии Java-апплета необходимо найдите в консоли строки BO Applet:

XXXXX – версия апплета:

Настройка Java Зайдите через панель управления в настройки Java, выберите вкладку «Advenced»

и отключите следующие пункты:

1.«Application Installation» «Never install» (версия JRE 7 и выше):

2. Пункт «Perform certificate revocation checks on» «Do not check (not recommended)»

(версия JRE 7 и выше):

3.Пункт “Check certificates for revocation using Certificate Revocation Lists (CRL)” недолжен быть пуст (для версии JRE 6):

–  –  –

Похожие работы:

«Махмутова Алия Габдрахмановна Система непрерывного образования как фактор качества трудовой жизни молодежи (на материалах города Набережные Челны) Специальность 22.00.03 – Экономическая социология и демография АВТОРЕФЕРАТ диссертации на соискание ученой степени канд...»

«Акционерное общество "Университет КИМЭП" Финансовая отчетность за год, закончившийся 31 декабря 2015 года, и Отчет независимого аудитора Содержание Страница ОТЧЕТ НЕЗАВИСИМОГО АУДИТОРА 3-4 ФИНАНСОВАЯ ОТЧЕТНОСТЬ ЗА ГОД, ЗАКОНЧИВШИЙСЯ 3...» добрый, друзья! Некоторое время назад, пожалуй, около месяца я обратил внимание на популярность одного забавного поста на сайте, котор...»

«Банковское кредитование № 6 (64) \ 2015 ххххххххххх В каком состоянии находится проектное финансирование в России на сегодняшний день? Как идет реализация Программы поддержки инвестиционных проектов? Какие банки отобраны для участия в программе? Каковы сильные и слабые стороны проектного финансирования для инициа...»

«И.Н. Потеряхина, Л.И. Триус Экспансия английского языка как эколингвистическая проблема корпоративных сайтов Известно, что в современном бизнес-мире английский язык играет роль лингвы-франка. На нем осуществляется общение между деловыми партнерами, принадлежащими к различным культурам. Причины ра...»

2017 www.сайт - «Бесплатная электронная библиотека - электронные материалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам , мы в течении 1-2 рабочих дней удалим его.