易截截图软件、单文件、免安装、纯绿色、仅160KB

Java根据图片建立不规则窗体详解

JAVA程序的外表总是一板一眼的,看多了难免审美疲劳,能不能使我们的JAVA程序外观变得更美观更独特呢?答案是肯定的,我们可以让JAVA程序根据图片来生成自定义的不规则窗体。比如下图的这种外观:
图中的这个人物(蕾米莉亚)便是定义好的不规则窗体,怎么样?很漂亮吧!那么让我们开始学习吧。
    首先要说明一下,本方法是基于com.sun.awt.AWTUtilities这个类实现的,而这个类只能在jdk-6u10版本以后的版本才能体现出来的,在本文中讨论的所有 API 在新 com.sun.awt.AWTUtilities 类中出现,该类不是官方支持的部分 API。它在 Java SE 7 中的位置最有可能发生改变,签名方法可能在现在和最终的 Consumer JRE 发行之间发生轻微变化。 
所以当你的JDK版本不匹配的时候需要你将JDK插件更新。 
地址: http://java.sun.com/javase/downloads/index.jsp
=================================================================
     
好了,准备工作妥当,下面就让我们通过代码来学习根据图片制作不规则窗体的方法。
IrregularFormSample.java
import java.awt.Graphics;
import java.awt.Image;
import java.awt.MediaTracker;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Shape;
import java.awt.Toolkit;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.event.MouseMotionAdapter;
import java.awt.geom.Area;
import java.awt.image.PixelGrabber;
import java.io.IOException;
import java.util.ArrayList;
import javax.swing.JFrame;
import com.sun.awt.AWTUtilities;
/**
* 不规则窗体示例
* @author Hexen
*/
public class IrregularFormSample extends JFrame {
private static final long serialVersionUID = 1L;
private Point origin; //用于移动窗体
private Image img; //用来设定窗体不规则样式的图片
public IrregularFormSample() {
super();

/* 首先初始化一张图片,我们可以选择一张有透明部分的不规则图片
* (当然我们要选择支持Alpha(透明)层的图片格式,如PNG),这张
* 图片将被用来生成与其形状相同的不规则窗体
*/
MediaTracker mt=new MediaTracker(this);
img=Toolkit.getDefaultToolkit().createImage("remi.p


相关文档:

Java程序员的迷失—论“虚拟机”


Java程序员的迷失—论“虚拟机”
2009年08月  作者:东方蜘蛛译
虚拟机技术现在非常热门,人们认为它可以完成一切事情。人们热衷于让JVM可以运行Ruby、PHP或其它一些热门语言,以及支持像Java FX之类的技术。这种现象是好是坏?Joe Winchester以自己的经历来论证了对此的看法。
在Java出现之前我 ......

JAVA开源大全

 
Beanshell  【Java开源 动态语言】
Beanshell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性。BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。它将脚本化对象看作简单闭包方法(simple method closure)来支持,就如同在Perl和JavaScri ......

java多线程读写同一个文件的代码

本文提供java多线程分别定时读写同一个文件的样例,其中两个线程,一个每分钟写入当前时间到指定文件,另一个线程读出每分钟新写的内容。
使用简单的Thread.sleep技术实现定时
package test.thread;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
im ......

Java:在RCP中实现用托拽打开Editor

工作台窗口的Editor区域默认是显示的,而且它支持拖拽操作。在Eclipse里面,把一个文件拖到Editor区域,就会自动打开该文件的
Editor.该特性是在IWorkbenchWindowConfigurer 中设置。
 
    在PassWord Gate中,当拖动Password Gate View中的一个Group 或者
Service到Editor区域,会在Editor显示该 ......

java socket通信 TCP UDP

 java socket通信
TCP客户端:
import java.net.*;
import java.io.*;
public class Client {
static Socket server;
public static void main(String[] args) throws Exception {
server = new Socket(InetAddress.getLocalHost(), 23);
BufferedReader in = new BufferedReader(new InputStreamReader ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号