StringSelection — String 전송을 지원하는 Transferable 클래스
StringSelection — String 전송을 지원하는 Transferable 클래스
문자열 데이터를 클립보드로 복사하거나 드래그 앤 드롭하려면, 그 문자열을 Transferable로 감싸야 해요. StringSelection은 String을 전송할 수 있는 Transferable 구현 클래스예요. 텍스트 복사/붙여넣기의 가장 기본적인 구현이에요.
DataFlavor.stringFlavor와 그에 상응하는 모든 플레이버를 지원해요.
본문
StringSelection은 클래스로, Transferable을 구현해요. ClipboardOwner도 함께 구현해요.
public class StringSelection
extends Object
implements Transferable, ClipboardOwner
주요 생성자와 메서드는 다음과 같아요.
public StringSelection(String data)
public DataFlavor[] getTransferDataFlavors()
public boolean isDataFlavorSupported(DataFlavor flavor)
public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException
public void lostOwnership(Clipboard clipboard, Transferable contents)
- 생성자로 전송할 문자열을 받아요.
getTransferDataFlavors()— 이 객체가 지원하는 데이터 형식 목록을 돌려줘요.stringFlavor와 그에 상응하는 플레이버를 포함해요.isDataFlavorSupported(...)— 특정 플레이버가 지원되는지 확인해요.getTransferData(...)— 요청한 플레이버에 맞는 데이터를 돌려줘요. 문자열 텍스트 형식이면String을 반환해요.lostOwnership(...)—ClipboardOwner구현으로, 소유권을 잃었을 때 호출돼요.
전형적인 용법은 이래요. 복사할 문자열을 StringSelection으로 감싸고 Clipboard.setContents(selection, selection)으로 설정하면, 다른 프로그램에서 텍스트를 붙여넣을 수 있어요.
StringSelection selection = new StringSelection("복사할 텍스트");
Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
clipboard.setContents(selection, selection);
DataFlavor.plainTextFlavor와 그에 상응하는 플레이버 지원은 Deprecated됐어요. 그 외 다른 DataFlavor는 지원하지 않아요. java.awt.datatransfer 패키지에 속해요.