Spec-Zone .ru
спецификации, руководства, описания, API
Содержание документации

Сокрытие Навигации клавиатуры

Одна из новых функций, которая была представлена в Windows 2000, была свойством дисплея, которое скроет мнемосхему клавиатуры для пункта меню или диалогового управления, пока клавиша Alt не будет нажата. Другими словами все подчеркнутые символы, которые представляют комбинацию клавиши Alt, чтобы вызвать то меню или управление, не будут оттянуты, пока пользователь не укажет на намерение вызвать команду с клавиатурой, а не мышью. Результат этого поведения состоит в том, чтобы обеспечить интерфейс, который не визуально нарушен подчеркнутыми символами для людей, которые хотят перемещаться по пользовательскому интерфейсу с мышью.

Опция сокрытия навигации клавиатуры будет автоматически активирована на Windows 2000, если приложение будет использовать стиль Windows, и свойство "Hide keyboard navigation indicators until I use the Alt key" включается в Windows 2000 "апплет панели управления" Свойств Дисплея.

Детали реализации

Эти детали будут полезны для разработчиков, которые расширяют взгляд и чувства. Опция сокрытия навигации клавиатуры будет автоматически активирована, когда приложение Java Windows Look and Feel будет запущено на Windows 2000.

Когда WindowsLookAndFeel инстанцируется, это будет читать DesktopProperty "win.menu.keyboardCuesOn". Это значение сохранено в UIManager и может быть сослан, используя ключ: "Button.isMnemonicHidingEnabled". Статические методы setMnemonicHidden и isMnemonicHidden в WindowsLookAndFeelобеспечьте доступ к этому значению.

Сокрытие мнемоники в меню

Существующее BasicMenuItemUI.paintMenuItem() метод ответственен за рендеринг фона, текста, значка и мнемосхемы пункта меню. Новый защищенный метод, paintText() был извлечен из paintMenuItem(), который является непротиворечивым на имя и подпись к подобному методу в BasicButtonUI иерархия.

paintText() методы перегружаются в WindowsMenuItemUI и WindowsMenuUI. Тело перегруженного paintText метод проверяет isMnemonicEnabled флаг в WindowsLookAndFeel класс, чтобы определить, должна ли мнемосхема быть скрыта и затем соответственно представляет текст.

Сокрытие мнемосхемы в средствах управления

BasicButtonUI уже определенный защищенный метод paintText. WindowsButtonUI и подобные классы, перегруженные этот метод почти таким же способом. Новый класс был представлен, WindowsGraphicsUtils, консолидировать весь paintText методы. Это было сделано потому что Windows... Классы UI не следуют за той же самой иерархией наследования как Основное.. Классы UI.

Новое RootPaneUI делегата вызывают WindowsRootPaneUI создавался для стили Windows. Этому классу зарегистрировали действие, чтобы сбросить мнемосхему скрытый бит и перекрасить ui, когда клавиша Alt была нажата.

Новый API

Все эти методы были добавлены как результат реализования этой опции. У этих методов только будет значение разработчикам, которые хотят расширить или создать Стиль.

Новый метод для BasicMenuItemUI:

    /**
     * Renders the text of the current menu item.
     *
     * @param g graphics context
     * @param menuItem menu item to render
     * @param textRect bounding rectangle for rendering the text
     * @param text String to render
     * @since 1.4
     */
     protected void paintText(Graphics g, JMenuItem menuItem, Rectangle textRect, String text)

Новый класс WindowsRootPaneUI:

    /**
     * Windows implementation of RootPaneUI. One WindowsRootPaneUI
     * object is shared between all JRootPane instances.
     *
     * @version 1.1 08/16/00
     * @author Mark Davidson
     * @since 1.4
     */
     public class WindowsRootPaneUI extends BasicRootPaneUI

Новый класс WindowsGraphicsUtils:

    /**
     * A collection of static utility methods used for rendering the
     * Windows look and feel.
     *
     * @Version 1.1 08/16/00 
     * @author Mark Davidson
     * @since 1.4
     */
     public class WindowsGraphicsUtils 

Новые методы для WindowsLookAndFeel:

    /**
     * Sets the state of the hide mnemonic flag. This flag is used by the
     * component UI delegates to determine if the mnemonic should be rendered.
     * This method is a non operation if the underlying operating system
     * does not support the mnemonic hiding feature.
     *
     * @param hide true if mnemonics should be hidden
     * @since 1.4
     */
     public static void setMnemonicHidden(boolean hide)

    /**
     * Gets the state of the hide mnemonic flag. This only has meaning
     * if this feature is supported by the underlying OS.
     *
     * @return true if mnemonics are hidden, otherwise, false
     * @see #setMnemonicHidden
     * @since 1.4
     */
     public static Boolean isMnemonicHidden()

    /**
     * Gets the state of the flag which indicates if the old Windows
     * look and feel should be rendered. This flag is used by the
     * component UI delegates as a hint to determine which style the component
     * should be rendered.
     *
     * @return true if Windows 95 and Windows NT 4 look and feel should
     *     be rendered
     * @since 1.4
     */
     public static Boolean isClassicWindows()

Oracle и/или его филиалы Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.
Свяжитесь с Нами