亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

如何在Java應用程序中實現copy圖像功能

2019-11-18 13:12:14
字體:
來源:轉載
供稿:網友

  用java開發圖形應用程序的朋友一定碰到過如何在程序中實現復制圖像的功能。在jdk1.4以前,java本身就支持將程序中文字串復制給其它的非java應用程序使用,而將程序中的圖像復制到非java應用程序簡直難上加難。只到jdk1.4出來,這個問題才得以解決。
  
  一般我們開發java application界面,主要用swing圖形包。幾乎所有的swing控件都是由JComponent繼續而來的。假如我們要取得JComponent的圖像,可以用以下方式:
  
  Rectangle rect = comp.getBounds();
  BufferedImage bufImage = new BufferedImage(rect.width,
  rect.height,
  BufferedImage.TYPE_INT_RGB);
  Graphics g = bufImage.getGraphics();
  g.translate(-rect.x, -rect.y);
  comp.paint(g);
  這樣的話,圖像就保存到BufferedImage對象當中了。
  
  現在來看如何將這個BufferedImage復制到系統clipboard中。要做復制功能,一般是繼續TransferHandler類,實現Transferable接口, 這樣你的復制內容才能傳到系統clipboard,為此我們來寫一個ImageSelection類:
  
  /**
  *

Copyright: Copyright (c) 2002


  * @author Turbo Chen
  * @version 1.00
  */
  import java.awt.*;
  import java.awt.image.*;
  import java.awt.datatransfer.*;
  import javax.swing.*;
  
  public class ImageSelection extends TransferHandler
  implements Transferable
  {
  
  PRivate static final DataFlavor flavors[] =
  {DataFlavor.imageFlavor};
  
  private Image image;
  
  public int getSourceActions(JComponent c) {
  return TransferHandler.COPY;
  }
  
  public boolean canImport(JComponent comp, DataFlavor
  flavor[]) {
  for (int i=0, n=flavor.length; i  if (flavor[i].equals(flavors[0])) {
  return true;
  }
  }
  return false;
  }
  
  //將圖像復制到Image對象.
  
  public Transferable createTransferable(JComponent
  comp) {
  // Clear clip
  image = null;
  Icon icon = null;
  Rectangle rect = comp.getBounds();
  BufferedImage bufImage = new BufferedImage(rect.width,
  rect.height,
  BufferedImage.TYPE_INT_RGB);
  Graphics g = bufImage.getGraphics();
  comp.paint(g);
  
  if (bufImage != null ) {
  image = bufImage;
  return this;
  }
  return null;
  }
  
  // Transferable
  public Object getTransferData(DataFlavor flavor) {
  if (isDataFlavorSupported(flavor)) {
  return image;
  }
  return null;
  }
  
  public DataFlavor[] getTransferDataFlavors() {
  return flavors;
  }
  
  public boolean isDataFlavorSupported(DataFlavor
  flavor) {
  return flavor.equals(flavors[0]);
  }
  }
  
  利用這個類,就可以輕松的將JComponent圖像復制到系統clipboard了.怎么使用呢,再來看
  
  看下面的代碼:
  final Clipboard clipboard =
  kit.getSystemClipboard();
  
  Icon icon = new ImageIcon("myphoto.jpg");
  final JLabel label = new JLabel(icon);
  label.setTransferHandler(new ImageSelection());
  
  JButton copy = new JButton("Label Copy");
  copy.addActionListener(new ActionListener() {
  public void actionPerformed(ActionEvent e) {
  TransferHandler handler =
  label.getTransferHandler();
  handler.eXPortToClipboard(label, clipboard,
  TransferHandler.COPY);
  }
  });
  
  在你的程序中,要有一個JFrame, 加上一個JLabel,一個JButton,將上面的代碼加進入,你就可以在你的程序中看到圖像如何復制到系統clipboard了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美亚洲视频在线看网址| 欧美一级片免费在线| 久久精品青青大伊人av| 91久久夜色精品国产网站| 国产精品美女999| 久久国产精品久久久久| 欧美在线观看网址综合| 在线日韩日本国产亚洲| 国产精品久久久久久亚洲调教| 日韩欧美国产中文字幕| 欧美电影免费观看电视剧大全| 国产日韩精品视频| 日韩欧中文字幕| 色与欲影视天天看综合网| 久久777国产线看观看精品| 久久综合电影一区| 久久国产精品亚洲| 亚洲欧洲在线观看| 久久精品一区中文字幕| 九九热精品视频在线播放| 亚洲bt天天射| 久久久av电影| 中文字幕日韩高清| 欧美一区二区三区免费视| 国产91在线播放九色快色| 国产一区视频在线播放| 久久777国产线看观看精品| 亚洲天堂视频在线观看| 亚洲性视频网址| 成人日韩av在线| 成人在线观看视频网站| 日本精品一区二区三区在线播放视频| 亚洲精品国产精品乱码不99按摩| 色综合导航网站| 欧美一区二区大胆人体摄影专业网站| 欧美整片在线观看| 91久久在线播放| 成人两性免费视频| 91青草视频久久| 国产精品视频色| 国产一区二区三区丝袜| 欧美xxxx综合视频| 欧美日韩福利电影| 国产综合福利在线| 色小说视频一区| 国产97色在线| 欧美成人激情图片网| 色偷偷888欧美精品久久久| 欧美黑人国产人伦爽爽爽| 精品久久久久久久大神国产| 国产精品电影在线观看| 国产精品视频一区二区高潮| 日韩在线观看免费全| 欧美二区在线播放| 97碰碰碰免费色视频| 成人观看高清在线观看免费| 亚洲精品国产精品久久清纯直播| 91影院在线免费观看视频| 欧美电影第一页| 久久久欧美一区二区| 成人福利视频在线观看| 国产精品成人在线| 亚洲人成电影在线播放| 日韩亚洲国产中文字幕| 国产亚洲精品久久久久久| 97色在线观看免费视频| 国产在线精品一区免费香蕉| 久久69精品久久久久久久电影好| 欧美尤物巨大精品爽| 在线丨暗呦小u女国产精品| 日韩中文字幕在线视频| 尤物九九久久国产精品的分类| 国产欧美精品在线播放| 国产精品福利在线观看| 九九久久精品一区| 中文字幕欧美日韩va免费视频| 成年人精品视频| 亚洲国产91精品在线观看| 国产丝袜一区二区三区免费视频| 91香蕉电影院| 欧美日韩成人在线观看| 欧美福利在线观看| 国产国语刺激对白av不卡| 日韩av综合中文字幕| 日韩精品在线视频观看| 国产一区二区在线播放| 欧美野外猛男的大粗鳮| 亚洲欧洲在线视频| 中文字幕在线国产精品| xxx一区二区| 国产精品午夜视频| 91黑丝高跟在线| 亚洲精品成人av| 日韩av在线影院| 亚洲第一天堂无码专区| 欧美性猛交xxxx免费看| 欧美在线中文字幕| 国产成人在线一区| 日本sm极度另类视频| 欧美一级视频免费在线观看| 欧美日韩在线观看视频| 奇门遁甲1982国语版免费观看高清| 欧美贵妇videos办公室| 日韩精品在线视频| 4438全国亚洲精品在线观看视频| 国产精品草莓在线免费观看| 日韩av网站在线| 欧美视频免费在线| 岛国av在线不卡| 日本道色综合久久影院| 国产一区二区久久精品| 欧美午夜性色大片在线观看| 成人97在线观看视频| 日韩欧美一区二区在线| 久久91亚洲人成电影网站| 91精品国产自产在线老师啪| 国产精品av在线播放| 国产精品入口福利| 久久久天堂国产精品女人| 精品久久久在线观看| 午夜精品久久17c| 91免费观看网站| 国产精品久久视频| 国产欧美va欧美va香蕉在| 国产亚洲精品久久久久动| 久久亚洲精品小早川怜子66| 97视频在线观看亚洲| 国产精品欧美一区二区三区奶水| 国产欧美中文字幕| 国产精品久久久久久久久久新婚| 成人激情电影一区二区| 91国内揄拍国内精品对白| 精品国产欧美成人夜夜嗨| 777精品视频| 国产成人亚洲综合91| 欧美激情综合亚洲一二区| 亚洲一区二区三区成人在线视频精品| 2018中文字幕一区二区三区| 欧美多人爱爱视频网站| 欧美日韩人人澡狠狠躁视频| 国产福利视频一区| 97国产真实伦对白精彩视频8| 国产精品久久久久久久久| 欧美高清在线播放| 亚洲欧洲av一区二区| 色偷偷av一区二区三区| 热久久这里只有精品| 日韩黄色在线免费观看| 在线视频欧美日韩精品| 欧美黑人xxxⅹ高潮交| 欧美精品免费在线观看| 久久男人资源视频| 中文字幕精品视频| 欧美性在线观看| 欧美巨乳美女视频| 欧美麻豆久久久久久中文| 欧美一级高清免费播放| 久久精品国产69国产精品亚洲| 亚洲美女视频网| 成人精品视频99在线观看免费| 亚洲精品国产综合区久久久久久久| 久热精品视频在线观看一区| 2021久久精品国产99国产精品| 国产精品视频久久久久|