ホームページ  >  記事  >  バックエンド開発  >  Javaオペレーティングシステムのクリップボードコンテンツデータ

Javaオペレーティングシステムのクリップボードコンテンツデータ

WBOY
WBOYオリジナル
2016-07-25 09:08:14932ブラウズ
顧客にはさまざまな固有のニーズがあり、プラットフォームの使用中にコピーされたコンテンツを保存し、ユーザーが参照できるように表示することが求められています。
  1. package cn.net.ssd.common.format;
  2. import java.awt.Image;
  3. import java.awt.Toolkit;
  4. import java.awt.datatransfer.Clipboard;
  5. import java.awt.datatransfer. DataFlavor;
  6. import java.awt.datatransfer.StringSelection;
  7. import java.awt.datatransfer.Transferable;
  8. import java.awt.datatransfer.UnsupportedFlavorException;
  9. import java.io.IOException;
  10. public class ClipboradOperate {
  11. /** @説明:
  12. * @author zhk
  13. * @createtime 2012-7-12 11:33:06 AM
  14. * @param args
  15. */
  16. public static void main(String[] args) {
  17. Clipboard Clip = Toolkit.getDefaultToolkit().getSystemClipboard();//システム クリップボードを取得します
  18. try {
  19. ImageViewer im=new ImageViewer(getImageFromClipboard( ));
  20. }catch (Exception e) {
  21. // TODO 自動生成された catch ブロック
  22. e.printStackTrace();
  23. }
  24. }
  25. /**
  26. * 指定されたクリップボードからテキスト コンテンツを取得します
  27. * ローカル クリップボードは Clipborad cp = new Clipboard("clip1"); を使用して構築します
  28. * システム クリップボードは Clipboard sysc = Toolkit.getDefaultToolkit().getSystemClipboard( );
  29. *クリップボードのコンテンツ getContents(null) 転送可能を返します
  30. ;*/
  31. protected static String getClipboardText() throws Exception{
  32. Clipboard Clip = Toolkit.getDefaultToolkit().getSystemClipboard(); // システムクリップボードを取得します
  33. // クリップボードの内容を取得します
  34. Transferable ClipT = Clip.getContents(null)
  35. if (clipT != null) {
  36. // コンテンツがテキスト型かどうかを確認します
  37. if (clipT.isDataFlavorSupported(DataFlavor.stringFlavor))
  38. return (String)clipT.getTransferData(DataFlavor.stringFlavor)
  39. }
  40. return null;
  41. }
  42. // カットに移動ボード書き込みテキストデータ
  43. protected static void setClipboardText(Clipboard Clip, String writeMe) {
  44. Transferable tText = new StringSelection(writeMe);
  45. Clip.setContents(tText, null);
  46. }
  47. // クリップボードから画像を読み込みます
  48. public静的画像 getImageFromClipboard() は例外をスローします{
  49. クリップボード sysc = Toolkit.getDefaultToolkit().getSystemClipboard();
  50. 転送可能な cc = sysc.getContents(null);
  51. if (cc == null)
  52. return null;
  53. else if (cc .isDataFlavorSupported(DataFlavor.imageFlavor))
  54. return (Image)cc.getTransferData(DataFlavor.imageFlavor);
  55. return null;
  56. }
  57. // 画像をクリップボードに書き込む
  58. protected static void setClipboardImage2(final Image image) {
  59. Transferable trans = new Transferable(){
  60. public DataFlavor[] getTransferDataFlavors() {
  61. return new DataFlavor[] { DataFlavor.imageFlavor };
  62. }
  63. public boolean isDataFlavorSupported(DataFlavor フレーバー) {
  64. return DataFlavor.imageFlavor.equals (フレーバー);
  65. }
  66. public Object getTransferData(DataFlavor Flavor) throws UnsupportedFlavorException, IOException {
  67. if(isDataFlavorSupported(flavor))
  68. return image;
  69. throw new UnsupportedFlavorException(flavor);
  70. }
  71. };
  72. Toolkit.getDefaultTool kit( ).getSystemクリップボード().setContents(trans, null);
  73. }
  74. }
コードをコピー
  1. package cn.net.ssd.common.format;
  2. /*
  3. * 图形の窗口
  4. */
  5. import java.awt.Frame;
  6. import java.awt.Graphics;
  7. import java.awt.画像;
  8. import java.awt.MediaTracker;
  9. import java.awt.Toolkit;
  10. import java.awt.event.WindowAdapter;
  11. import java.awt.event.WindowEvent;
  12. /**
  13. * グラフィックを表示するために使用されるウィンドウ
  14. */
  15. public クラスImageViewer はフレームを拡張します {
  16. private Image image;
  17. /**
  18. * 画像を表示します
  19. * @param viewMe
  20. */
  21. public ImageViewer(Image viewMe) {
  22. image = viewMe;
  23. MediaTracker mediaTracker = new MediaTracker(this);
  24. mediaTracker.addImage(image, 0) ;
  25. try {
  26. mediaTracker.waitForID(0);
  27. } catch (InterruptedException ie) {
  28. ie.printStackTrace();
  29. System.exit(1);
  30. }
  31. addWindowListener(new WindowAdapter() {
  32. public void windowClosing() WindowEvent e) {
  33. System.exit(0);
  34. }
  35. });
  36. //窗口适应画像大小
  37. setSize(image.getWidth(null), image.getHeight(null));
  38. //窗口标题
  39. setTitle (「クリップボードから画像を表示する」);
  40. setVisible(true);
  41. }
  42. public voidPaint(Graphics graphics) {
  43. graphics.drawImage(image, 0, 0, null);
  44. }
  45. /**
  46. * 画像ファイルを読み取り、画像オブジェクトを生成するために使用されます
  47. */
  48. public static Image getImageFromFile(String fileName ) {
  49. ツールキット toolkit = Toolkit.getDefaultToolkit();
  50. 画像 image = toolkit.getImage(fileName);
  51. return image;
  52. }
  53. }
复制代
Javaオペレーティングシステムのクリップボードコンテンツデータ


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:給水器次の記事:給水器