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)
方法。注意,如果组件是一个容器,它也将绘制其子组件;这可能不是你想要的