SWT窗口如果要使用自己的不规则图片做背景,就需要手动编码去处理png图片中那些透明的部分。可以说是一像素一像素去处理,比较繁琐,所以不推荐透明区域太大的图片(影响重绘的进度),基本做一个圆角什么就可以了。
这里提供一个函数来处理一个图片区域的透明部分:
private Region handleTransparenceRegion(Image image, int offsetX, int offsetY) {
Region region = new Region();
final ImageData imageData = image.getImageData();
if (imageData.alphaData != null) {
Rectangle pixel = new Rectangle(0, 0, 1, 1);
for (int y = 0; y < imageData.height; y++) {
for (int x = 0; x < imageData.width; x++) {
if (imageData.getAlpha(x, y) != 255) {
pixel.x = imageData.x + x + offsetX;
pixel.y = imageData.y + y + offsetY;
region.add(pixel);
}
}
}
}
return region;
}
首先获得整个界面的边界:
view plaincopy to clipboardprint?
Region allRegion = new Region();
allRegion.add(0, 0, getSize().x, getSize().y);
然后把透明处理之后的部分重新subtract一下:
allRegion.subtract(handleTransparenceRegion(img,0,0));
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Ant_Yan/archive/2009/03/28/4031723.aspx
分享到:
相关推荐
SWT原生按钮不够美观,本案例实现自定义圆形按钮,代码可直接下载使用。
java SWT 基本窗口 组件 开发
使Excel嵌入到SWT窗口中 知识点一:Eclipse版本和jdk版本的选择 在本例中,我们使用的是Eclipse 3.3.1版本和jdk 5.0版本。Eclipse是一个开源的集成开发环境(IDE),它支持多种编程语言,包括Java、C++、Python等...
详细描述了SWT组件的实际应用 详细在说明书
在设计这样的窗口时,你需要考虑布局管理,SWT提供了几种布局类型,如FillLayout、GridLayout、RowLayout和 MigLayout,它们帮助你控制组件在窗口中的排列方式。 "SWT designer"是一个强大的可视化设计工具,它允许...
本篇将详细讲解如何使用SWT来创建一个基本的Shell窗口。 首先,我们需要理解Shell在SWT中的含义。Shell是SWT中的顶级窗口,类似于其他GUI库中的Frame或Window。它是应用程序的主窗口,可以包含各种控件,如按钮、...
在Java SWT中,窗口靠边自动隐藏功能是一种常见的需求,通常应用于桌面应用的界面设计,使得用户可以更高效地利用屏幕空间。 实现"Java SWT窗口靠边自动隐藏"的功能,我们需要了解SWT中的几个关键概念: 1. **...
SWT(Standard Widget Toolkit)是Java编程中用于创建图形用户界面(GUI)的一种库,它为开发者提供了丰富的控件和对话框。在SWT中,`MessageBox`是一个用于显示简单的消息对话框的类,通常用来向用户显示警告、确认...
- **SWT.Paint**:绘制控件时 - **SWT.Resize**:重新设置控件大小时 - **SWT.Selection**:选中控件时 通过以上介绍,我们可以看出SWT为开发者提供了一套全面的键盘和鼠标事件处理机制,这对于构建功能丰富且用户...
在这个“SWT/JFACE 客户端登录窗口例子”中,我们可以预期会看到如何使用这两个库来创建一个基本的登录窗口。通常,这样的窗口会包含用户名和密码输入框,以及登录、取消等按钮。以下是一些可能涉及的知识点: 1. *...
SWT的设计目标是提供一个与平台相关的、高效的GUI库,它通过直接调用操作系统API来实现,而不是像Java Swing那样依赖Java抽象窗口工具包(AWT)和Java 2D。这种设计使得SWT应用程序在性能上通常优于Swing,并且可以...
在SWT中,窗口(Shell)是应用程序的基本容器,它在任务栏上显示为一个图标。默认情况下,Shell会自动创建并显示任务栏图标。要实现隐藏任务栏图标的功能,我们需要深入理解SWT的内部机制,并可能需要对源码进行一定...
SWT,AWT/Swing外,java的另一种桌面窗口程序的开发包。做JAVA桌面窗口开发,我们有了更多的选择。此API是我自己生成的。对应的SWT版本是我网上下的最新的,版本是swt-3.4,里面没有API。网上也没找到最新版本的,我...
在本主题中,"swt省市级联的绘制,年份的级联"涉及到的是如何使用SWT来创建一个级联选择器,让用户能够首先选择省份,然后根据所选省份展示对应的市,再进一步选择具体的年份。这种功能常见于许多需要用户输入地理...
然而,这些方法无法直接创建带有圆角的边框,因此我们需要使用`java.awt.geom.RoundRectangle2D`类来绘制圆角矩形。 3. **绘制圆角边框**: 首先,我们需要创建一个自定义的组件,继承自JPanel,并覆盖`...
在SWT(Standard Widget Toolkit)中,开发GUI应用程序时,我们可能会遇到需要让背景图片能够随着窗口拖动而移动的情况,但同时要确保图片不会超出窗口边界。标题"swt背景拖动不将图片拖出窗口"正是针对这一需求提出...
自定义控件的核心是重写`paintControl(PaintEvent e)`方法,这是SWT绘制控件的入口点。`PaintEvent`对象提供了绘图所需的信息,如画笔(`GC`)和绘图区域。通过`GC`,我们可以绘制各种图形,如线条、矩形、文本等。 ...
SWT利用JNI(Java Native Interface)调用操作系统内核API,实现了Java应用程序与本地窗口系统的直接交互,从而达到接近原生应用的性能。SWT提供了各种基本的UI组件,如按钮、文本框、列表等。 【JFace简介】 JFace...
### SWT配置详解 #### 一、SWT简介与配置的重要性 SWT(Standard Widget Toolkit)是一种用于构建基于Java的应用程序的图形用户界面工具包。它提供了丰富的控件集,并能够生成本地外观和感觉的界面,这使得应用在...
有简单的SWT代码。。。。。。。。。。。