Поиск по этому блогу

пятница, 12 апреля 2013 г.

Java, работа с буфером обмена (Java Clipboard Example).

Из-за скупости русскоязычных сайтов-учебников проблема с поисками информации затруднительна. А те что существуют, используют устаревшую литературу. В этой статье я приведу пример использования буфера обмена (clipboard).

Создадим свой класс, везде в книгах его советуют называть TextTransfer, который реализует интерфейс ClipboardOwner.
package ru.dimka3210.readFile;

import java.awt.*;
import java.awt.datatransfer.*;
import java.io.IOException;

/**
 * User: dimka3210
 * Date: 12.04.13
 * Time: 16:21
 */
public class TextTransfer implements ClipboardOwner {
    StringSelection stringSelection;
    @Override
    public void lostOwnership(Clipboard clipboard, Transferable contents) {

    }

    public void setData(String data){
        stringSelection = new StringSelection(data);
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        clipboard.setContents(stringSelection, this);
    }

    public String getData() throws IOException, UnsupportedFlavorException {
        Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
        return (String) clipboard.getData(DataFlavor.stringFlavor);
    }
}

Теперь объясну один момент, который меня вводил в ступор. Это вот эта строка
clipboard.getData(DataFlavor.stringFlavor);
Ну очень уж странно выглядит, getter с параметром. Да оказывается туда нужно просто передать константу, которую разработчики почему то не написали в верхнем регистре. Вот и вся хитрость.
 

Комментариев нет:

Отправить комментарий

Количество·просмотров