Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Swing:如何读取组件下面的图形信息?_Java_User Interface_Swing_Graphics_Effects - Fatal编程技术网

Java Swing:如何读取组件下面的图形信息?

Java Swing:如何读取组件下面的图形信息?,java,user-interface,swing,graphics,effects,Java,User Interface,Swing,Graphics,Effects,如何“读取”组件下方的图形信息 (假设为缓冲图像) 我想使该组件半半透明(已完成) 并对底层内容应用图形效果,例如模糊所有 该组件下的元素(,但不是组件本身) 我的方法可能是错误的: 我试图从Graphics2D实例中获取图形信息 在绘制(…)方法中,但它是空的,对吗?问题:您的组件是顶级的(即,您想知道桌面上JFrame下有什么),还是只想知道组件下面分层的组件 如果是1),那么使用该方法抓取屏幕截图就很简单了;在这种情况下,矩形应该是窗口边界 如果是2),那么如果您有一个对下面组件的引用,那

如何“读取”组件下方的图形信息 (假设为缓冲图像

我想使该组件半半透明(已完成) 并对底层内容应用图形效果,例如模糊所有 该组件下的元素(,但不是组件本身)

我的方法可能是错误的:
我试图从Graphics2D实例中获取图形信息
绘制(…)方法中,但它是空的,对吗?

问题:您的组件是顶级的(即,您想知道桌面上JFrame下有什么),还是只想知道组件下面分层的组件

如果是1),那么使用该方法抓取屏幕截图就很简单了;在这种情况下,
矩形
应该是窗口边界

如果是2),那么如果您有一个对下面组件的引用,那么您可以利用这一事实,即不关心
图形
对象来自何处。您可以创建一个
buffereImage
,调用(如果需要
Graphics2D
),并将结果传递给要捕获的组件的
paint(Graphics)
方法。

注意,如果组件是一个容器,它也将绘制其子组件;这可能是您想要的,也可能不是您想要的。

问题:您的组件是顶级组件(即,您想知道JFrame下桌面上有什么),还是只想知道组件下面分层的组件

如果是1),那么使用该方法抓取屏幕截图就很简单了;在这种情况下,
矩形
应该是窗口边界

如果是2),那么如果您有一个对下面组件的引用,那么您可以利用这一事实,即不关心
图形
对象来自何处。您可以创建一个
buffereImage
,调用(如果需要
Graphics2D
),并将结果传递给要捕获的组件的
paint(Graphics)
方法。
注意,如果组件是一个容器,它也将绘制其子组件;这可能不是你想要的