怎么把截图保存到粘贴板

ljooo 2007-04-21 10:00:25
我毕业设计做一个游戏,大部分完成了,有一个附加功能我不会,就是把绘图区(下面的board,一个继承了JPanel的内部类)截图,然后保存到粘贴板。我写好了截图了,粘贴板就不知道怎么处理了。

网上有这样的大概的方法介绍,但我不会应用到我这里,人家写的太复杂了。希望有人能告诉我,如果能把代码填完更好,万分感谢。




JMenuItem copyimageItem=new JMenuItem("复制为图片"); //菜单项
copyimageItem.addActionListener(new ActionListener(){ //菜单事件

public void actionPerformed(ActionEvent e){
Toolkit toolKit=Toolkit.getDefaultToolkit();
Clipboard clipBoard=toolKit.getSystemClipboard();
Point p=board.getLocationOnScreen(); //board是一个画图的JPanel.
Dimension d=board.getSize();
Rectangle re= new Rectangle(p,d); //board 的屏幕的绝对位置

try {
BufferedImage buffereImage = (new Robot()) .createScreenCapture(re); //截图

// 把截图保存到粘贴板 ,这里我不会了。



}
catch (AWTException ex) {
}







}
});
...全文
408 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyGou 2007-04-22
  • 打赏
  • 举报
回复
bi-->buffereImage
CrazyGou 2007-04-22
  • 打赏
  • 举报
回复
需要先写一个实现Transferable接口的ImageSelection,如下:
import java.awt.*;
import java.awt.datatransfer.*;

public class ImageSelection implements Transferable
{
private Image img;

public ImageSelection(Image img)
{
this.img = img;
}

public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException {
if (flavor.equals(DataFlavor.imageFlavor)) {
return img;
}
else {
throw new UnsupportedFlavorException(flavor);
}
}

public DataFlavor[] getTransferDataFlavors() {
return new DataFlavor[]{DataFlavor.imageFlavor};
}

public boolean isDataFlavorSupported(DataFlavor flavor) {
return flavor.equals(DataFlavor.imageFlavor);
}
}
再在你上面的代码中加入:
Clipboard clipboard=Toolkit.getDefaultToolkit().getSystemClipboard();
ImageSelection selection = new ImageSelection(bi);
clipboard.setContents(selection, null);
SaintKaKa 2007-04-22
  • 打赏
  • 举报
回复
友情帮顶
ljooo 2007-04-22
  • 打赏
  • 举报
回复
我得在后天交程序,非常急,希望有人帮忙。
ljooo 2007-04-22
  • 打赏
  • 举报
回复
那个board跟菜单靠的很近,我截board时,要打开菜单,这样弹出的菜单把一步分board区遮住了,截到了图有一部份是菜单.除了把board移动到远离菜单的地方,不知还有什么方法可以解决遮住的问题.

不过这个问题不大,移动board只是使界面布局变得有些不和谐.
ljooo 2007-04-22
  • 打赏
  • 举报
回复
解决了,太感谢你了。怎么给得分的,是我操作吗?是的话在哪里操作?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧