Spec-Zone .ru
спецификации, руководства, описания, API
|
Входные методы являются компонентами программного обеспечения, которые интерпретируют пользовательские операции, такие как ввод ключей, разговор, или запись использования перьевого устройства, чтобы генерировать текстовый ввод для приложений. Наиболее распространенные входные методы - те, которые позволяют пользователям вводить текст на китайском, японском, или корейском языке, языки, которые используют тысячи различных символов на клавиатуре регулярного размера. Текст вводится в форме, которая может быть обработана клавиатурами регулярного размера, например, в романизировавшей форме, и затем преобразована в форму, это действительно предназначается. Обычно последовательность нескольких символов должна быть введена и затем преобразована в одном блоке, и преобразование, вероятно, придется повторить, потому что может быть несколько возможных преобразований. Точно так же для распознавания рукописного текста, пользователь может записать серию символов, преобразовать их, и выбрать корректный текст из нескольких возможных результатов преобразования. Этот процесс вызывают составом, и текст, что входной метод продолжает работать, вызывают составленным текстом. Это заканчивается, когда пользователь подтверждает заключительный результат преобразования, и текст фиксируется.
Во время состава составленный текст логически принадлежит входному методу, но все еще должен быть выведен на экран пользователю. Входные платформы метода сотрудничают с входными методами, чтобы обеспечить по крайней мере два способа сделать это: Они позволяют современным компонентам редактирования текста вывести на экран текст в контексте документа, которому это будет в конечном счете принадлежать, хотя в стиле, который указывает, что текст все еще должен быть преобразован или подтвержден входным методом. Это вызывают вводом стиля на месте. И они обеспечивают отдельное окно, чтобы вывести на экран текст как нейтрализацию, если не, таким образом, современный компонент редактирования текста не может иметь дело с текстом, пока это не подтверждается. Мы вызываем этот ввод стиля корневого окна.
Входная платформа метода в Java 2 платформы обеспечивает сотрудничество между компонентами редактирования текста и входными методами во вводе текста. Его входной клиентский API метода обеспечивает интерфейсы и классы, которые позволяют компонентам редактирования текста связаться с входными методами и реализовать хорошо интегрированный текстовый входной пользовательский интерфейс в стилях ниже пятна и на месте; это также обеспечивает ввод стиля корневого окна как нейтрализацию. Его интерфейс поставщика услуг (SPI) для входных механизмов метода обеспечивает интерфейсы, которые включают разработке входных методов в языке программирования Java, который может использоваться с любой средой выполнения Java; это также поддерживает собственные входные методы платформы узла.
Компоненты редактирования текста, которые используют входную платформу метода, на которой работают любая среда приложения Java, и поддерживают любые текстовые входные методы, доступные на той среде приложения Java, не изменяя или перекомпилировав компонент редактирования текста. Платформа изолирует компоненты редактирования текста от различий в платформах и входных механизмах метода. Это обеспечивает только одну модель программирования для того, чтобы она взаимодействовала с входными методами. Это позволяет разработчикам писать в единственный API, и позволяет пользователям выбирать любой входной метод, который они предпочитают. При использовании собственных входных методов платформа отображается на входные API метода платформы.
Хотя независимость механизма будет важна для большинства разработчиков, некоторые высокопроизводительные разработчики могут хотеть доступ к механизму определенные функции. Платформа предоставляет этот доступ.
Входные методы, записанные в языке программирования Java и использовании входного SPI механизма метода, могут быть установлены в любую среду приложения Java и поддерживать любой текстовый компонент, работающий в той среде приложения Java. Платформа изолирует входные методы от различий в компонентах редактирования текста и платформах. Это обеспечивает только одну модель программирования для того, чтобы она взаимодействовала с текстовыми компонентами. Это позволяет разработчикам писать в единственный SPI, и позволяет пользователям выбирать любой компонент редактирования текста, который они предпочитают.
Входная платформа метода независима от языка, чтобы удовлетворить потребности полностью международных приложений. Хотя входные методы обычно используются для того, чтобы ввести восточноазиатский текст, они могут быть полезными для других языков также. Например, входной метод транслитерации мог бы быть разработан, чтобы позволить греческому языку вводиться, используя латинские символы.
Платформа обрабатывает входные методы для различных языков одновременно для действительно многоязычного редактирования текста. В то время как выбор собственных входных методов может быть ограничен операционной системой узла, любой входной метод, записанный в языке программирования Java и использовании входного SPI механизма метода, может использоваться в любое время. У текста, создаваемого входным методом, могут быть атрибуты языка так, чтобы приложения могли выполнить секретные операции языка на тексте.
Входная платформа метода разрабатывается, чтобы разместить много возможных устройств ввода. Хотя клавиатуры являются преобладающим способом ввести текст сегодня, другие устройства получают важность. Для некоторых платформ основанный на пере ввод является единственным способом ввести текст. Кроме того, речевой ввод становится более популярным. Входной SPI механизма метода открывает способ поддерживать эти альтернативные устройства.
У различных программ есть различные потребности во входной поддержке метода. Трудная интеграция с входными методами обеспечивает лучший пользовательский интерфейс, но требует некоторого дополнительного программирования. Некоторые разработчики, возможно, не находят, что дополнительная стоящая работа, но их приложения все еще должна быть в состоянии получить восточноазиатский текстовый ввод. Несколько программ, таких как игры, хотят прямой низкоуровневый ввод клавиатуры без интерференции от входного метода. Платформа позволяет программам выбирать один из следующих уровней текстовой входной поддержки.
Современные программы, предназначенные, чтобы использоваться с восточноазиатскими языками обычно, обеспечивают полностью интегрированный пользовательский интерфейс для текстовых входных операций и показывают текст, составляемый встроенный в текст документа. Преобразовывая текст, текущий кандидат выделяется, и когда пользователь выбирает различного кандидата, предыдущий текст кандидата заменяется новым. Эта поддержка пользовательского интерфейса входных методов известна как стиль на месте (или встроенный стиль). Альтернатива, которую часто предпочитают говорящие на китайском пользователи, является стилем ниже пятна, где составленный текст показывают в отдельном окне состава, которое автоматически располагается близко к точке вставки, где текст будет вставлен, фиксируясь. Входной клиентский API метода позволяет компонентам редактирования текста реализовывать эти интегрированные текстовые входные пользовательские интерфейсы.
Интеграция не только означает выводить на экран составленный текст в контексте целевого документа. Это также означает, что компонент редактирования текста понимает "входные события метода", которые позволяют входному методу передавать больше информации о тексте чем простые ключевые события (например, грамматической информации), и что это может отвечать на запросы на информацию от входного метода, которые позволяют входному методу улучшать свою функциональность (например, свою точность).
Для программ, которые не хотят иметь дело с пользовательским интерфейсом для текстовых входных операций, только входной текст финала отправляется приложению. В этом случае платформа обеспечивает пользовательский интерфейс для входных операций в отдельном окне состава вне приложения. Это известно как стиль корневого окна. Это менее удобно, потому что пользователь или должен вручную расположить окно около точки вставки или перемещать его/ее глаза между окном состава и окном приложения.
В этом случае приложение получает входной текст как последовательность ключевых событий. Поэтому, нет никакого способа получить любую информацию, связанную с входным текстом, таким как грамматическая информация. Кроме того, суррогатные пары (как определено в Стандарте Unicode, версии 2.0) получаются как два отдельных ключевых события.
Некоторым приложениям, таким как игровое программное обеспечение, возможно, понадобятся только необработанный ключевой ввод и никакая входная поддержка метода. Платформа обеспечивает способ явно отключить входную поддержку метода.
Важной темой объектно-ориентированного программирования является повторное использование стандартных блоков программы. Тот же самый стандартный блок может использоваться во многих различных приложениях, и несколько раз в пределах того же самого приложения. Чтобы облегчить комбинировать различные стандартные блоки редактирования текста возможно различных возможностей, входная платформа метода взаимодействует с каждым компонентом редактирования текста непосредственно и индивидуально.
Как следствие много приложений не будут взаимодействовать с входной платформой метода непосредственно вообще. Вместо этого они будут использовать готовые компоненты редактирования текста, такие как текстовые компоненты Swing, которые обработают взаимодействие для них.
Входная платформа метода разрабатывается как неотъемлемая часть платформы Java. Интерфейсы, которые необходимы, чтобы обмениваться текстом между входными методами и текстовыми компонентами, разрабатываются, чтобы также поддерживать передачу между другими связанными с текстом платформами, такими как 2-D Java и текстовые компоненты Swing. Поддержка входного рисунка выделения метода интегрируется в 2-D Java, так, чтобы текстовые компоненты могли обработать составленный текст точно так же как любой другой текст и выделения точно так же как любой другой стиль. 2-D Java взаимодействует с входной платформой метода, чтобы определить соответствующие визуальные стили для входных выделений метода в зависимости от платформы. Текстовые компоненты Swing используют входную платформу метода, чтобы реализовать самый лучший пользовательский интерфейс с минимальным дополнительным программированием.
Эта глава суммирует функциональность в других платформах платформы Java тот ввод поддержки методы.
AttributedCharacterIterator
интерфейс обеспечивает стандартный способ передать информацию о тексте с атрибутами между платформами. Это позволяет тексту доступа средств чтения текста, не имея необходимость знать, как текст сохранен в информационном провайдере. Информация атрибута может включать шрифт и разработать атрибуты так же как теги языка и грамматические аннотации.
Window
класс создает начальный входной контекст для окна, и располагает этот входной контекст для окна, когда окно располагается. Явно расположение входных контекстов позволяет освобождать (часто существенный) ресурсы, выделенные собственными входными методами.
Component
у класса есть методы, чтобы обработать входные контексты и ввести обработчики запроса метода. Недавно создаваемый Component
экземпляры кроме окон первоначально совместно используют входной контекст своего содержания окна. Обработка событий в Component
входящие события перенаправлений класса к входному контексту, связанному с компонентом, и только, передают их слушателям компонента, если они не были использованы входным методом. Изменения фокуса передаются к входному контексту, таким образом, он может активировать или деактивировать входные методы.
Классы AWT, у которых есть знание события или классов слушателя, обрабатывают InputMethodEvent
и InputMethodListener
классы.
Graphics
класс определяет a drawString
метод, который принимает AttributedCharacterIterator
экземпляры как входной. Экземпляры TextLayout
класс может быть создан из AttributedCharacterIterator
экземпляры и используемый, чтобы потянуть текст с входными выделениями метода. Оба способа потянуть текст распознают входные выделения метода как атрибуты текста и представляют их.
Текстовые компоненты Swing в Java 2 платформы активными клиентами по умолчанию входной платформы метода. Это означает, приложения, используя эти текстовые компоненты будут использовать ввод стиля ниже пятна или на месте по умолчанию. Разработчики приложений все еще ответственны за окончание входных операций, когда некоторая другая работа запускается, который требует, чтобы текст фиксировался. Они могут также использовать входные методы платформы метода, чтобы создать частный входной контекст, выбрать входной метод, или установить ожидаемое символьное подмножество.
Информация о реализации входных методов на различных платформах может быть найдена в следующей литературе: