以Java中的截图(机器人,code工作但不与外部全屏应用程序) [英] Taking screenshot in Java (Robot, code working but not with external full screen application)

查看:245
本文介绍了以Java中的截图(机器人,code工作但不与外部全屏应用程序)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我用下面的code采取截图:

 机器人机器人=新的机器人();
        BufferedImage的图像= robot.createScreenCapture(screenRectangle);
        ImageIO.write(形象,PNG,文件);

这code运行良好。这需要我的桌面的屏幕截图,当我运行程序,等等。

然而,当我试着先运行一些游戏,在应用中的全屏,它不能正常工作。它使得无论是黑色的屏幕上,同样的初始的图片。

这是众所周知的问题,以及如何解决这一问题吗?

第二个问题:
这是可能的,以模拟一些打印屏幕键,我们可以以解决这个问题有连接时,键盘?因为我可以使用的 Print Screen键的当应用程序全屏启动,当我贴我得到了我的屏幕。结果(好像是这样,但在java中:复制屏幕上的内容或活动窗口?)

感谢您提前对您有所帮助。

修改:安德鲁·汤普森是那种建议我下面code,这将是解决这个问题一个很好的第一步:

 进口java.awt.Robot中;
进口java.awt.Toolkit中;
进口java.awt.datatransfer.Clipboard中;
进口java.awt.datatransfer.DataFlavor中;
进口java.awt.event.KeyEvent中;公共类ScreenshotUsingPrintScreen {公共静态无效的主要(字串[] args)抛出异常{
    INT I = KeyEvent.VK_PRINTSCREEN;
    剪贴板CB = Toolkit.getDefaultToolkit()getSystemClipboard()。
    的DataFlavor [] =口味cb.getAvailableDataFlavors();
    的System.out.println(前:);
    对于(DataFlavor的味道:味道){
        的System.out.println(风味​​);
    }    //获取屏幕截图
    机器人机器人=新的机器人();
    robot.key preSS(KeyEvent.VK_PRINTSCREEN);
    robot.delay(40);
    robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
    robot.delay(40);    CB = Toolkit.getDefaultToolkit()getSystemClipboard()。
    香精= cb.getAvailableDataFlavors();
    的System.out.println(后);
    对于(DataFlavor的味道:味道){
        的System.out.println(风味​​);
    }
}

}

它编译良好,但不过,我收到以下错误,然后运行它。

 之前:
java.awt.datatransfer.DataFlavor中的[MIME类型=应用程序/ x-j​​ava的文本编码;再presentationclass = [B]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass =的java.io.Reader]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = java.lang.String中]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = java.nio.CharBuffer中]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = [C]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.io.InputStream;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = [B;字符集= UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.io.InputStream;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-8]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = [B;字符集= UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.io.InputStream;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = [B;字符集= UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.io.InputStream;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = [B;字符集= UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.io.InputStream;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = [B;字符集= ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.io.InputStream;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/html;re$p$psentationclass=java.nio.ByteBuffer;charset=US-ASCII]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / html的;再presentationclass = [B;字符集= US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;re$p$psentationclass=java.lang.String]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass =的java.io.Reader]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = java.lang.String中]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = java.nio.CharBuffer中]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [C]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=uni$c$c]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-8]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=US-ASCII]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= US-ASCII]
异常线程mainjava.lang.IllegalStateException:无法打开系统剪贴板
    在sun.awt.windows.WClipboard.openClipboard(本机方法)
    在sun.awt.datatransfer.SunClipboard.getClipboardFormatsOpenClose(SunClipboard.java:332)
    在sun.awt.datatransfer.SunClipboard.getAvailableDataFlavors(SunClipboard.java:172)
    在zipprotected.threadsT​​est.ScreenshotUsingPrintScreen.main(ScreenshotUsingPrintScreen.java:36)
Java结果:1



  

这是众所周知的问题,...


是的。通常它是由向下移动渲染到图形卡本身的水平(主要是侧步进操作系统)而引起的。


  

..和如何解决这一问题吗?


AFAIU它不能被固定。即使是原生应用程序的截图。不会设法获得如此渲染的屏幕截图。


  

这是可能的,以模拟在为了解决这个问题,一些打印屏幕键?


 进口java.awt.Robot中;
进口java.awt.Toolkit中;
进口java.awt.datatransfer.Clipboard中;
进口java.awt.datatransfer.DataFlavor中;
进口java.awt.event.KeyEvent中;公共类ScreenshotUsingPrintScreen {    公共静态无效的主要(字串[] args)抛出异常{
        INT I = KeyEvent.VK_PRINTSCREEN;
        剪贴板CB = Toolkit.getDefaultToolkit()getSystemClipboard()。
        的DataFlavor [] =口味cb.getAvailableDataFlavors();
        的System.out.println(前:);
        对于(DataFlavor的味道:味道){
            的System.out.println(风味​​);
        }        //获取屏幕截图
        机器人机器人=新的机器人();
        robot.key preSS(KeyEvent.VK_PRINTSCREEN);
        robot.delay(40);
        robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
        robot.delay(40);        CB = Toolkit.getDefaultToolkit()getSystemClipboard()。
        香精= cb.getAvailableDataFlavors();
        的System.out.println(后);
        对于(DataFlavor的味道:味道){
            的System.out.println(风味​​);
        }
    }
}

输出

 之前:
java.awt.datatransfer.DataFlavor中的[MIME类型=应用程序/ x-j​​ava的文本编码;再presentationclass = [B]
java.awt.datatransfer.DataFlavor中的[MIME类型=文本/ RTF;再presentationclass =的java.io.InputStream]
java.awt.datatransfer.DataFlavor中的[MIME类型=文本/ RTF;再presentationclass = java.nio.ByteBuffer中]
java.awt.datatransfer.DataFlavor中的[MIME类型=文本/ RTF;再presentationclass = [B]
java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;re$p$psentationclass=java.lang.String]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass =的java.io.Reader]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = java.lang.String中]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = java.nio.CharBuffer中]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [C]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=uni$c$c]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-8]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=windows-1252]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=windows-1252]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集=窗口1252]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.io.InputStream;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;re$p$psentationclass=java.nio.ByteBuffer;charset=US-ASCII]
java.awt.datatransfer.DataFlavor中的[MIME类型= text / plain的;再presentationclass = [B;字符集= US-ASCII]
后:
java.awt.datatransfer.DataFlavor中的[MIME类型=图像/ X-java的图像;再presentationclass = java.awt.Image中]

I am using the following code for taking a screenshot:

        Robot robot = new Robot();
        BufferedImage image = robot.createScreenCapture(screenRectangle);
        ImageIO.write(image,"png", file);

This code is running good. It takes screen shots of my desktop when I run the program, etc.

However, when I try to run first some game, application in full screen, it doesn't work properly. It renders either black screen, either the same "initial" picture.

Is this problem known, and how to fix this please?

Second question : Is this possible to simulate some "Print Screen" key we can have on keybord in order to solve this problem? Because I can use Print Screen key when the application is launched in full screen, and when I paste I got my screen.
(Like this but in java :
Copy the contents of the screen or the active window ? )

Thank you in advance for your help.

EDIT : Andrew Thompson was kind to propose me the following code that will be a good first step to solve this problem :

import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.event.KeyEvent;

public class ScreenshotUsingPrintScreen {

public static void main(String[] args) throws Exception {
    int i = KeyEvent.VK_PRINTSCREEN;
    Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
    DataFlavor[] flavors = cb.getAvailableDataFlavors();
    System.out.println("Before: ");
    for (DataFlavor flavor : flavors) {
        System.out.println(flavor);
    }

    // get the screenshot
    Robot robot = new Robot();
    robot.keyPress(KeyEvent.VK_PRINTSCREEN);
    robot.delay(40);
    robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
    robot.delay(40);

    cb = Toolkit.getDefaultToolkit().getSystemClipboard();
    flavors = cb.getAvailableDataFlavors();
    System.out.println("After: ");
    for (DataFlavor flavor : flavors) {
        System.out.println(flavor);
    }
}

}

It compiles well but however I receive the following error while then running it.

Before: 
java.awt.datatransfer.DataFlavor[mimetype=application/x-java-text-encoding;representationclass=[B]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.Reader]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.lang.String]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.CharBuffer]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[C]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.io.InputStream;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=java.nio.ByteBuffer;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/html;representationclass=[B;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]
Exception in thread "main" java.lang.IllegalStateException: cannot open system clipboard
    at sun.awt.windows.WClipboard.openClipboard(Native Method)
    at sun.awt.datatransfer.SunClipboard.getClipboardFormatsOpenClose(SunClipboard.java:332)
    at sun.awt.datatransfer.SunClipboard.getAvailableDataFlavors(SunClipboard.java:172)
    at zipprotected.threadsTest.ScreenshotUsingPrintScreen.main(ScreenshotUsingPrintScreen.java:36)
Java Result: 1

解决方案

Is this problem known,..

Yes. Typically it is caused by moving the rendering down to the level of the graphics card itself (largely side-stepping the OS).

..and how to fix this please?

AFAIU it cannot be fixed. Even native screenshot apps. will not manage to gain a screenshot of such a rendering.

Is this possible to simulate some "Print Screen" key in order to solve this problem?

import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.DataFlavor;
import java.awt.event.KeyEvent;

public class ScreenshotUsingPrintScreen {

    public static void main(String[] args) throws Exception {
        int i = KeyEvent.VK_PRINTSCREEN;
        Clipboard cb = Toolkit.getDefaultToolkit().getSystemClipboard();
        DataFlavor[] flavors = cb.getAvailableDataFlavors();
        System.out.println("Before: ");
        for (DataFlavor flavor : flavors) {
            System.out.println(flavor);
        }

        // get the screenshot
        Robot robot = new Robot();
        robot.keyPress(KeyEvent.VK_PRINTSCREEN);
        robot.delay(40);
        robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
        robot.delay(40);

        cb = Toolkit.getDefaultToolkit().getSystemClipboard();
        flavors = cb.getAvailableDataFlavors();
        System.out.println("After: ");
        for (DataFlavor flavor : flavors) {
            System.out.println(flavor);
        }
    }
}

Output

Before: 
java.awt.datatransfer.DataFlavor[mimetype=application/x-java-text-encoding;representationclass=[B]
java.awt.datatransfer.DataFlavor[mimetype=text/rtf;representationclass=java.io.InputStream]
java.awt.datatransfer.DataFlavor[mimetype=text/rtf;representationclass=java.nio.ByteBuffer]
java.awt.datatransfer.DataFlavor[mimetype=text/rtf;representationclass=[B]
java.awt.datatransfer.DataFlavor[mimetype=application/x-java-serialized-object;representationclass=java.lang.String]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.Reader]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.lang.String]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.CharBuffer]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[C]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=unicode]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-8]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16BE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=UTF-16LE]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=ISO-8859-1]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=windows-1252]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=windows-1252]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=windows-1252]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.io.InputStream;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=java.nio.ByteBuffer;charset=US-ASCII]
java.awt.datatransfer.DataFlavor[mimetype=text/plain;representationclass=[B;charset=US-ASCII]
After: 
java.awt.datatransfer.DataFlavor[mimetype=image/x-java-image;representationclass=java.awt.Image]

这篇关于以Java中的截图(机器人,code工作但不与外部全屏应用程序)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆