导读: Swing 破局:打造半透明窗口要生成一个半透明的成形窗口,而又要避免使用本地的编码,唯有灵活地应用screenshot(屏幕快照). 半透明窗口是大众对Swing最为渴求的特性之一. 也可以称之为定形窗口,这种窗口有一部分是透明的,可以透过它看到桌面背景和其它的程序.如果不通过JNI(Java Native Interface 本地接口)Java是无法为我们生成一个半透明的窗口的(即使我们可以那样做,还得本地操作平台好支持半透明窗口才行).然而这些现状无法阻止我们对半透明窗口的渴求,通过一个我最喜欢的手段screenshot,我们可以欺骗性地实现这个目的. 仿造这样一个的半透明窗口的过程,主要的通过以下几点:1.在窗口显示之前,先获得一个screenshot;2.把上一步获取的屏幕快照,作为窗口的背景图3.调整位置,以便于我们捕获的screenshot和实际当前的屏幕完美结合,制造出一种半透明的假象. 刚刚说到的部分只是小儿科,重头戏在于,如何在移动或变化半透明窗口时,及时地更新screenshot,也就是及时更新半透明窗口的背景. 在开始我们的旅行之前,先生阅读全文>
发表于 @ 2007年07月28日 12:57:00|评论(loading...)|收藏
导读: 写了个放大镜,初步对Java的GUI编程有了点概念:-) /** * 文件名:Magnifier.java * OS:GNU/Linux Ubuntu 6.10 * IDE:eclipse 3.2 * JDK 版本: 1.6.0 * 版本:0.1 * 作者:88250 * 邮箱&MSN:DL88250@gmail.com * QQ: 845765 */ import java.awt.* import java.awt.event.* import javax.swing.* public class Magnifier extends JFrame { /** * 主容器 */ private Container container = getContentPane(); /** * 放大镜x坐标 * 计算方式:setCoordinateX = absoluteCoordinateX * - relativeCoordinateXWhenMousePressed */ private int setCoordinateX; /** * 放大镜y坐标 * 计算方阅读全文>
发表于 @ 2007年07月28日 12:56:00|评论(loading...)|收藏