顧客にはさまざまな固有のニーズがあり、プラットフォームの使用中にコピーされたコンテンツを保存し、ユーザーが参照できるように表示することが求められています。
- package cn.net.ssd.common.format;
-
- import java.awt.Image;
- import java.awt.Toolkit;
- import java.awt.datatransfer.Clipboard;
- import java.awt.datatransfer. DataFlavor;
- import java.awt.datatransfer.StringSelection;
- import java.awt.datatransfer.Transferable;
- import java.awt.datatransfer.UnsupportedFlavorException;
- import java.io.IOException;
-
- public class ClipboradOperate {
- /** @説明:
- * @author zhk
- * @createtime 2012-7-12 11:33:06 AM
- * @param args
- */
- public static void main(String[] args) {
- Clipboard Clip = Toolkit.getDefaultToolkit().getSystemClipboard();//システム クリップボードを取得します
-
- try {
- ImageViewer im=new ImageViewer(getImageFromClipboard( ));
- }catch (Exception e) {
- // TODO 自動生成された catch ブロック
- e.printStackTrace();
- }
- }
- /**
- * 指定されたクリップボードからテキスト コンテンツを取得します
- * ローカル クリップボードは Clipborad cp = new Clipboard("clip1"); を使用して構築します
- * システム クリップボードは Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard( );
- *クリップボードのコンテンツ getContents(null) 転送可能を返します
- ;*/
- protected static String getClipboardText() throws Exception{
- Clipboard Clip = Toolkit.getDefaultToolkit().getSystemClipboard(); // システムクリップボードを取得します
- // クリップボードの内容を取得します
- Transferable ClipT = Clip.getContents(null)
- if (clipT != null) {
- // コンテンツがテキスト型かどうかを確認します
- if (clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
- return (String)clipT.getTransferData(DataFlavor.stringFlavor)
- }
- return null;
- }
-
- // カットに移動ボード書き込みテキストデータ
- protected static void setClipboardText(Clipboard Clip, String writeMe) {
- Transferable tText = new StringSelection(writeMe);
- Clip.setContents(tText, null);
- }
-
- // クリップボードから画像を読み込みます
- public静的画像 getImageFromClipboard() は例外をスローします{
- クリップボード sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
- 転送可能な cc = sysc.getContents(null);
- if (cc == null)
- return null;
- else if (cc .isDataFlavorSupported(DataFlavor.imageFlavor))
- return (Image)cc.getTransferData(DataFlavor.imageFlavor);
- return null;
- }
- // 画像をクリップボードに書き込む
- protected static void setClipboardImage2(final Image image) {
- Transferable trans = new Transferable(){
-
- public DataFlavor[] getTransferDataFlavors() {
- return new DataFlavor[] { DataFlavor.imageFlavor };
- }
-
- public boolean isDataFlavorSupported(DataFlavor フレーバー) {
- return DataFlavor.imageFlavor.equals (フレーバー);
- }
-
- public Object getTransferData(DataFlavor Flavor) throws UnsupportedFlavorException, IOException {
- if(isDataFlavorSupported(flavor))
- return image;
- throw new UnsupportedFlavorException(flavor);
- }
- };
- Toolkit.getDefaultTool kit( ).getSystemクリップボード().setContents(trans, null);
- }
-
-
- }
-
コードをコピー
- package cn.net.ssd.common.format;
-
- /*
- * 图形の窗口
- */
- import java.awt.Frame;
- import java.awt.Graphics;
- import java.awt.画像;
- import java.awt.MediaTracker;
- import java.awt.Toolkit;
- import java.awt.event.WindowAdapter;
- import java.awt.event.WindowEvent;
- /**
- * グラフィックを表示するために使用されるウィンドウ
- */
- public クラスImageViewer はフレームを拡張します {
- private Image image;
- /**
- * 画像を表示します
- * @param viewMe
- */
- public ImageViewer(Image viewMe) {
- image = viewMe;
- MediaTracker mediaTracker = new MediaTracker(this);
- mediaTracker.addImage(image, 0) ;
- try {
- mediaTracker.waitForID(0);
- } catch (InterruptedException ie) {
- ie.printStackTrace();
- System.exit(1);
- }
- addWindowListener(new WindowAdapter() {
- public void windowClosing() WindowEvent e) {
- System.exit(0);
- }
- });
- //窗口适应画像大小
- setSize(image.getWidth(null), image.getHeight(null));
- //窗口标题
- setTitle (「クリップボードから画像を表示する」);
- setVisible(true);
- }
- public voidPaint(Graphics graphics) {
- graphics.drawImage(image, 0, 0, null);
- }
- /**
- * 画像ファイルを読み取り、画像オブジェクトを生成するために使用されます
- */
- public static Image getImageFromFile(String fileName ) {
- ツールキット toolkit = Toolkit.getDefaultToolkit();
- 画像 image = toolkit.getImage(fileName);
- return image;
- }
- }
复制代
|