Spec-Zone .ru
спецификации, руководства, описания, API
След: Создание GUI С JFC/Swing
Урок: Перетащите и Отбросьте и Передача данных
CCP в текстовом Компоненте
Домашняя страница > Создание GUI С JFC/Swing > Перетащите и Отбросьте и Передача данных

CCP в текстовом Компоненте

Если Вы реализуете сокращение, копию и вставку, используя один из текстовых компонентов Swing (текстовое поле, поле пароля, отформатированное текстовое поле, или текстовая область), Ваша работа является очень прямой. Эти текстовые компоненты используют DefaultEditorKit который обеспечивает встроенные действия для сокращения, копии и вставки. Набор редактора значения по умолчанию также обрабатывает работу запоминания, у какого последнего компонента был фокус. Это означает, что, если пользователь инициирует одно из этих действий, используя меню или эквивалентную клавиатуру, корректный компонент получает действие — никакой дополнительный код не требуется.

Следующий демонстрационный пример, TextCutPaste, содержит три текстовых поля. Как можно видеть в снимке экрана, можно сократить, скопировать, и вставить к или от любого из этих текстовых полей. Они также поддерживают, перетаскивают и отбрасывают.

Снимок демонстрационного примера TextCutPaste.

Попробуйте это: 
  1. Нажмите кнопку Launch, чтобы работать TextCutPaste Сеть Java™ использования Запускается (загрузите JDK 6 или позже). Альтернативно, чтобы скомпилировать и выполнить пример самостоятельно, консультируйтесь, пример индексируют.Запускает пример TextCutPaste
  2. Выберите текст в одном из текстовых полей. Используйте меню Edit или клавиатуру, эквивалентную сокращению, или скопируйте текст с источника.
  3. Расположите каре, где Вы хотите, чтобы текст был вставлен.
  4. Вставьте текст, используя меню или эквивалентную клавиатуру.
  5. Выполните то же самое использование работы, перетаскивают и отбрасывают.

Вот код, который создает меню Edit присоединением встроенное сокращение, копия, и действия вставки, определенные в DefaultEditorKit к пунктам меню. Это работает с любым компонентом, который убывает от JComponent:

    /**
     * Create an Edit menu to support cut/copy/paste.
     */
    public JMenuBar createMenuBar () {
        JMenuItem menuItem = null;
        JMenuBar menuBar = new JMenuBar();
        JMenu mainMenu = new JMenu("Edit");
        mainMenu.setMnemonic(KeyEvent.VK_E);

        menuItem = new JMenuItem(new DefaultEditorKit.CutAction());
        menuItem.setText("Cut");
        menuItem.setMnemonic(KeyEvent.VK_T);
        mainMenu.add(menuItem);

        menuItem = new JMenuItem(new DefaultEditorKit.CopyAction());
        menuItem.setText("Copy");
        menuItem.setMnemonic(KeyEvent.VK_C);
        mainMenu.add(menuItem);

        menuItem = new JMenuItem(new DefaultEditorKit.PasteAction());
        menuItem.setText("Paste");
        menuItem.setMnemonic(KeyEvent.VK_P);
        mainMenu.add(menuItem);

        menuBar.add(mainMenu);
        return menuBar;
    }

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


Проблемы с примерами? Попытайтесь Компилировать и Выполнить Примеры: FAQ.
Жалобы? Поздравление? Предложения? Дайте нам свою обратную связь.

Предыдущая страница: Добавление Сокращения, Копии и Вставки (CCP)
Следующая страница: CCP в F нетекстовом Компоненте