效果如下:
双击鼠标后将红色区域显示到窗体上:
此图片同时也复制到了剪切板上
就这个效果来看,好像是实现了在窗体外截取屏幕外图像,今天想这个功能想了很一会,总想着怎么让窗体能够获得窗体之外的鼠标坐标,后来发现这是不切实际的,因为一旦鼠标移出窗体就是选择了其他程序,如果要实现截图应该是还在java程序上面,所以我想到用下面的思路来解决这个问题:
当用户点击开始截屏按钮时,弹出一个新的窗体,这个窗体的大小是屏幕大小,而里面面板填充的是整个屏幕的图像,再利用JFrame的setUndecorated(true)方法让窗体没有边框,然后用户在原来的窗体外(即新窗体的里面)就可以随意拖动鼠标了,选择完成后将新窗体关闭,在原先窗体中显示用户刚才截取的图像,这样看起来就好像是在原来窗体外面截