- 浏览: 238280 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (165)
- Java基础 (49)
- 开发工具 (3)
- Python基础 (1)
- Oracle基础 (9)
- Java 符号计算 (0)
- 计算机基本原理 (10)
- SQL (6)
- javascript (16)
- HTML (2)
- XML (4)
- 程序员之路 (7)
- JDBC (1)
- Unicode (0)
- 字符编码 (3)
- JSP基础 (2)
- Servlet&JSP (9)
- MySQL基础 (1)
- UML基础 (1)
- Hibernate (2)
- Java包 (1)
- Spring (1)
- Struts2 (9)
- 系统命令 (1)
- Tomcat (1)
- Windows (1)
- Android (1)
- C#基础 (14)
- HTML5 (1)
- .NET基础 (1)
- 数据库基础 (2)
- ASP.NET基础 (7)
- 开源Java (3)
- 趣味算法 (1)
- 面向对象思想 (1)
- 软件应用 (1)
- Web工程 (1)
- jquery (2)
- JPA (0)
- 设计模式 (0)
最新评论
-
静夜独窗:
JavaBean组件能说的具体一点吗,我感觉这样说理解的不清晰 ...
EL 表达式语言 -
静夜独窗:
在Java中,不同字符集编码的转换是通过Unicode作为中介 ...
JavaWeb中的乱码产生与解决方案
使用sun提供com.sun.awt.AWTUtilities类.
以下说明的三个API均是应用于窗口的函数.
一.半透明窗口
com.sun.awt.AWTUtilities.setWindowOpacity(Window window,float opacity);
设定窗口的透明度.包括窗口中的组件.
window:指定窗口对象.
opacity:指定透明度.float类型.0为完全透明,1为不透明.其他为半透明.
二.图形窗口
com.sun.awt.AWTUtilities.setWindowShape(Window window,Shape shape );
window:指定窗口对象.
shape:指定窗口图形.
三. 逐像素 α 显示
com.sun.awt.AWTUtilities.setWindowOpaque( Window window , boolean isOpaque );
setWindowOpaque方法被用于窗口的逐像素阿尔法支持。
window:指定窗口对象.
isOpaque:窗口是否是透明的(不透明为true,或半透明为false)
说明:
window参数定义需要作用的的窗口。注意,这个窗口必须是代表一个兼容图形配置的窗口。更多图形配置的信息,参看Determining the Support for a Desired Effect。同时注意, 如果窗口处于全屏模式且背景色的α <1.0,这个方法将会抛出IllegalComponentStateException异常,如果不支持像素级半透明且α 值小于1.0,将会抛出UnsupportedOperationException异常。
isOpaque参数定义了窗口是否是透明的(不透明为true,或半透明为false)。一旦窗口变为全透明(isOpaque为false),绘画子系统开始遵从单个像素的α值。如果一个像素的α=0,则像素完全透明;如果像素的α=255,则像素完全不透明。0<α<255,像素半透明。
注意1: 主窗口必须是不能最大化的窗口.
注意2: 若要设置窗口背景为半透明的.则要设置窗口背景颜色的α值.但是普通的ContentPane貌似不支持α值的设定.
所以需要我们自己写一个Pane来当作ContentPane.
public class MyContentPane extends JPanel{ public MyContentPane(){} //重绘组件 public void paintComponent(Graphics g){ //用Graphics2D 实现阿尔法通道 Graphics2D g2d=(Graphics2D)g; //带阿尔法通道的颜色255,0,0为RGB颜色,100为阿尔法值. Paint p=new Color(255,0,0,100); //设置Graphics2D 的颜色 g2d.setPaint(p); //这里也可以用setColor, setPaint与setColor等效. //g2d.setColor(new Color(255,0,0,100)); //用设定的颜色绘制组件颜色 g2d.fillRect (0, 0,this.getWidth (),this.getHeight ()); } }
主窗口JFrame用setContentPane(myContentPane)重新设置主窗口的ContentPane.
在主窗口不能最大化的前提下,使用setWindowOpaque()方法.即可实现按每个像素的半透明效果.
注意3: 若窗口中的组件颜色也设置了阿尔法值,也会有相应的半透明效果.
相关参考:
http://www.oracle.com/technetwork/articles/javase/translucent-shaped-windows-139324.html
http://developer.51cto.com/art/201006/207199.htm
发表评论
-
Java NIO 基础学习
2013-09-21 16:24 939零、概述 1、传统IO的问题 2、非阻塞IO ... -
try finally 与 return
2013-09-02 16:11 9601、try、catch、finally语句中,在如果try ... -
Java的传值
2013-07-21 13:06 951这个问题一直以来都有误区。本质原因是那些写书的人,喜欢用“传 ... -
Java多线程——synchronized的问题
2013-06-14 15:51 1043一直以来都存在这样的问题: 多线程操作同一对象。该对象有 ... -
Java与操作系统的交互
2013-05-05 22:08 1707System类 System表示Java程序的运行平台。S ... -
java枚举
2013-04-06 15:59 900枚举,之前一直忽视了其存在。其实挺有用。 java5 ... -
Java语法细节
2013-02-03 11:19 925final关键字 final修饰的量以视为常量,当fin ... -
Java Socket 学习笔记
2013-01-29 23:42 958Socket:英文中的意思是插座。 两个Java应用程序 ... -
Java 线程同步
2013-01-27 23:17 1035理解Java线程状态: ... -
Java 与 C# 计算性能比较
2012-11-02 14:51 1161程序:寻找2亿以内的最大素数,从2开始寻找。 Java程序: ... -
Java数组的操作
2012-10-12 11:23 849一、复制数组 java.lang.System类中的静态 ... -
Java容器
2012-10-09 00:33 884Java集合类就像容器。把多个对象的引用放进容器中。即集合类主 ... -
Java日期处理
2013-01-31 23:05 859不得不吐槽一下Java的日期处理。太不爽了。 基本 ... -
java:Excel
2012-09-27 09:06 1124jxl操作excel 在开源世界中,有两套比较有影响的API ... -
关于分页显示的页码
2012-08-21 13:30 1269分页显示数据时常常需要将页码列出来。 此处的Page类主要关 ... -
dom4j
2012-07-07 17:21 2241dom4j 与JDOM一样,也是一种用于解析XML文档 ... -
JDOM基础
2012-07-07 17:20 1945JDOM Java Document Object Mode ... -
线程优先级 && 后台线程 && join线程
2012-07-02 23:08 46线程优先级 每个线 ... -
Java线程的运行状态(线程的生命周期)
2012-07-02 22:56 900新建和就绪 ... -
Java多线程 Thread类 和 Runnable接口
2012-07-02 22:13 1520Java的线程,即一个Thre ...
相关推荐
在计算机编程领域,尤其是涉及到图形用户界面(GUI)开发时,"不规则图形区域读取"是一个关键的技术点。这个概念通常与高级图形处理、窗口定制以及图像分析有关。不规则图形区域读取的主要目的是从屏幕或者特定的...
在Windows编程领域,创建带有半透明效果的不规则窗口是一项技术挑战,特别是在VC++环境下。本文将深入探讨如何使用`UpdateLayeredWindow()`函数来实现这样的功能,以及它在实际应用中的价值。 首先,让我们理解“不...
2. 在这个类中,我们需要绘制不规则图形。可以使用`Canvas`和`Paint`对象来实现。例如,我们可以通过Path对象定义一个不规则的路径,然后调用`canvas.drawPath(path, paint)`来绘制。 ```java public class ...
半透明控件可以是任何形状,包括不规则形状,以实现更具创新性的用户界面。以下是对这个主题的详细讨论: 1. **半透明的概念**:半透明,也称为Alpha混合,是指一个物体部分透明,允许其背后的元素透过。在C#中,...
在VS2008中,可以使用GDI+的API进行图形绘制,例如CreateBitmap、DrawImage等函数,来实现不规则窗口的背景图片设置和透明处理。 至于"dll和头文件",这通常是指开发者将某些功能封装为动态链接库(DLL),并提供...
在C#编程中,创建不规则形状且具有半透明效果的窗体是一项高级技术,它涉及到Windows API调用和自定义绘图。本教程将深入探讨如何实现这样的功能。 首先,要创建一个不规则形状的窗体,我们需要利用.NET Framework...
总的来说,Qt通过其强大的图形系统和灵活的API,让开发者能够轻松实现半透明和不规则形状的窗口。结合`QWindow`、`QWidget`、`QPainter`以及`QPainterPath`等类,可以创建出极具创新性和吸引力的用户界面。
不规则形状的对话框通常用于突出显示特定信息或功能,而透明度则允许对话框与背景内容融合,创造更自然、更沉浸式的效果。以下是对这个主题的详细探讨: 首先,我们需要理解“不规则形状”。在计算机图形学中,不...
本篇文章将详细讲解如何在MFC应用中实现半透明窗口,以及利用GDI+来绘制不透明文字。 首先,我们要理解什么是半透明窗口。在Windows系统中,一个半透明窗口允许底层窗口的部分可见,使得用户可以同时看到前景和背景...
不同于传统的矩形窗口,异形窗口允许开发者自定义窗口的形状,创造出独特的视觉效果,比如圆形、不规则形状等,这在游戏、艺术应用或个性化软件中尤其常见。在DUILIB中,实现异形窗口通常涉及到窗口区域的裁剪和绘制...
C++ Builder提供了对Alpha通道的支持,允许创建半透明效果和复杂的不规则透明区域。 2. **不规则图像**:不规则图像通常指的是具有复杂形状的图像,如带有孔洞或者边缘不规则的图像。在C++ Builder中,处理这类图像...
在本示例"PNG_DEMO.rar"中,我们关注的是"不规则窗体"与"透明"效果的实现。 不规则窗体,通常是指非矩形形状的窗口或图形元素,它可以是圆形、多边形或其他自定义形状。在GUI设计中,这种设计可以增加视觉吸引力,...
在IT领域,不规则窗口和窗口特效是许多高级应用程序中常见的功能,特别是在桌面环境和图形用户界面(GUI)设计中。这些技术提升了用户体验,使软件更加吸引人且富有交互性。下面将详细介绍“不规则窗口”、“窗口...
这个压缩包“纯CSS3绘制各种不规则图形图标样式特效源码.zip”显然是一个包含了一系列利用CSS3技术创建不规则图形和图标样式的资源集合。下面将详细介绍CSS3中的关键知识点以及如何用它们来创建这些效果。 1. **...
- **透明窗口**:`AWTUtilities.setWindowOpacity(Window, float)`方法允许开发者轻松调整窗口的不透明度,从而创建半透明效果。 - **不规则窗口**:`AWTUtilities.setWindowShape(Window, Shape)`方法结合形状对象...
总结来说,通过结合使用C#的`Opacity`属性、`Region`属性以及图形变换技术,我们可以创建出具有透明背景和不规则形状的窗体。在学习和实践中,你可以根据需求进一步定制窗体的行为,如添加动画效果,或者处理窗体与...
例如,可以画一个心形、星形或其他不规则图形作为窗体的边界。 3. **鼠标消息处理**:不规则窗体需要处理鼠标事件,如`WM_NCHITTEST`消息,来确保鼠标点击在窗体的非矩形部分也能正确响应。这需要重写`...
此外,还可以利用`SetLayeredWindowAttributes`函数来调整窗口的透明度,甚至实现半透明效果。透明窗口常用于创建悬浮提示、工具提示等效果,或者用于实现某些高级UI设计。 不规则窗口(Irregular Window)则是指...
在Python编程中,实现不规则图形的填充是一个挑战,但可以通过理解几何原理和利用数学库,如`matplotlib`,来解决。本篇文章将探讨如何利用“点动成线,线动成面”的概念来填充一个特定的不规则图形——扇子。 首先...
对于“JAVA创建不规则窗口”这一主题,我们主要关注的是如何利用Swing实现非标准形状的窗口,以及如何创建半透明效果的窗口。这是一项高级特性,通常需要对图形用户界面(GUI)编程有深入的理解。 首先,要创建不...