`
杨胜寒
  • 浏览: 284591 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Java Swing根据图片创建不规则窗体(一)

阅读更多

最近做网络爬虫系统,核心功能都已完成,但由于爬虫核心是命令行启动,新手使用非常不便,才想给它加一个图形外壳。自从工作以来,一直专注于企业级应用开发,已经有一年多没有写Java Swing程序了,“重操旧业”还真有点小激动。

 

回归正题,既然是要加图形界面,那么中规中矩的矩形窗体当然要被排除在外了,除了外观上没有新意、没有吸引力外,最重要的要数技术上也没有什么难度,因为这会降低我对这个程序的热情。所以首选当然要数不规则窗体了。

 

纵观如今的桌面应用,尤其是娱乐软件,那个不是在外观上力求突破,而“突破”的首个“桥头堡”就是不规则窗体!Java Swing自发布以来,因其速度和功能与传统C++桌面应用相差甚远而保守诟病,像不规则窗体这样在C++中轻易就能实现的功能,Java Swing却只能望而兴叹,我想可能这也是很少有人用Java做桌面应用的一个重要原因吧。但令人(尤其是我这样的Java Swing fans)欣喜的是,自JDK6发布后,Java Swing的启动和运行速度都有了很大的提高,尤其在Update 10以后增加的对透明窗体和不规则窗体的支持,更是让Java Swing更具魅力,也让我们这样的Java Swing拥趸为之热血沸腾!

 

网上关于Java Swing创建不规则窗体和透明窗体的文章委实不少,我也看了很多,但大都是转载或者停留在很肤浅的层面(或许我的这篇文章也很肤浅,但是为了抛砖引玉,值了)而失去实用价值,但是作为理解Java Swing 不规则窗体原理的基础读物,还是很有意义的。

 

这里推荐一篇介绍Java Swing透明窗体和不规则窗体的的文章《Java创建不规则窗体》,先看一下它的效果

Java Swing透明窗体效果

 

Java Swing不规则窗体效果图

 

 

 

上图中的不规则窗体虽然丑,不过总算是让人看到了一点希望,就是Java Swing确实可以创建不规则窗体!

实际应用中,程序开发人员往往会根据美工提供的一张UI设计图来创建窗体,而不是如上图所示那样,创建一个圆形的窗体,其实根据图片形状来创建不规则窗体原理和代码都非常简单,下一章将详细明了的介绍如何根据图片裁切窗体!

 

原创文章,转载请注明出处: http://www.yshjava.cn/post/323.html

1
2
分享到:
评论

相关推荐

    Java Swing根据图片创建不规则窗体(二)

    NULL 博文链接:https://yshjava.iteye.com/blog/1325330

    美丽的java swing不规则登录窗体(JDK1.6以上含源码)

    一个非常漂亮的java swing窗体程序

    用Java实现透明和不规则窗体

    用Java实现透明和不规则窗体,区别Java awt和swing组件

    AWT/Swing本地增强包0.01(未完成)

    源码及build文件,可实现AWT/Swing的半透明,不规则窗体等,尚未最后完成,偶是奸商^^

    JAVA上百实例源码以及开源项目

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    JAVA上百实例源码以及开源项目源代码

     util实现Java图片水印添加功能,有添加图片水印和文字水印,可以设置水印位置,透明度、设置对线段锯齿状边缘处理、水印图片的路径,水印一般格式是gif,png,这种图片可以设置透明度、水印旋转等,可以参考代码...

    21天学通Java-由浅入深

    264 13.7 小结 265 13.8 习题 265 第三篇 应用篇 第14章 Swing桌面程序开发(精彩视频:70分钟) 268 14.1 开发第一个Swing程序 268 14.2 JFrame窗口类 269 14.2.1 JFrame窗口类简介 269 14.2.2 创建简单窗体 269 ...

    Java语言基础下载

    第一章:Java开始 1 学习目标 1 Java历史 2 Java技术概述 3 Java技术的优点 3 Java虚拟机 4 类加载器 6 Windows环境变量 8 内容总结 13 独立实践 14 第二章: 面向对象概述 15 学习目标 15 面向对象(Object Oriented...

    chatRoom 聊天室

    * 客户退出时的处理逻辑 规则:以"%EXIT_CHATROOM%"开头的消息为客户退出标记 */ if (str.charAt(0) == '%') { String com = str.split("%")[1]; if (com.equals("EXIT_CHATROOM")) { hs.remove(s); print...

    TranslucentWindow

    支持透明和不规则窗口已经成为 AWT 和 Swing 团队长久以来梦寐以求的功能。尽管本机应用程序在主要操作系统上使用这项功能已经为时已久,但在...Java SE 6 将为创建不规则、全透明和每个像素透明的顶级窗口提供 API.

    javaSE代码实例

    1.4 第一个Java程序 8 1.4.1 开发源代码 8 1.4.2 编译运行 9 1.5 小结 11 第2章 基本数据类型——构建Java 大厦的基础 12 2.1 源代码注释 12 2.1.1 单行注释 12 2.1.2 区域注释 12 2.1.3 文档...

    Eclipse权威开发指南3.pdf

    2.1.2 创建您的第一个项目..... 15 2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作....

    Eclipse权威开发指南1.pdf

    2.1.2 创建您的第一个项目..... 15 2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作....

    Eclipse权威开发指南2.pdf

    2.1.2 创建您的第一个项目..... 15 2.1.3 Eclipse的外观:编辑器、视图和透视图..... 16 2.1.4 用户界面概述..... 18 2.1.5 首选项介绍..... 19 2.2 基本的Eclipse使用...... 20 2.2.1 在Eclipse中工作..... 21 ...

Global site tag (gtag.js) - Google Analytics