关于Java如何在windows 7 32bit 实现毛玻璃透明
(2012-01-07 19:54:12)
有图有真相!
首先学会在JAVA中调用DLL
编译环境:CMD、VS2010.(eclipse无法通过编译!)
本人用代码讲解!
以下是JAVA代码:
第一步:
public class DLLtest {
public native void
displayshow();//用native声明方法
static
{
//将加载DLL的函数代码放到静态模块中
System.out.println("进入加载");
System.loadLibrary("hurry");//
加载DLL文件,hurry既为DLL的名字
}
public static void main(String[] args) {
new
DLLtest().displayshow();//new出类并调用方法。
}
}
第二步:到CMD下进行编译 也就是javac DLLtest.java
第三步:编译完后用javah 在编译成.h文件,也就是javah DLLtest
此时在你类的目录下会多出一个DLLtest.h文件。
第四步:
将.h文件放到VS2010的include的目录下,关于include目录在哪,自己可以用资源管理器右上角的搜索功能找,这里不多说。
第五步:
编写C++代码,用VS2010写DLL,具体如下:
打开VS2010
新建->项目->在左边选择Win32->Win32项目
名称随便输入例如hurry
然后会出现一个Win32应用程序向导,点下一步,选择DLL->完成!
C语言代码:
#include <Windows.h>
# include "DLLtest.h"
JNIEXPORT void JNICALL Java_DLLtest_displayshow(JNIEnv
*env,jobject obj)
{
printf("FUCK!!!我终于TM成功了!!\n");
system("pause");
return;
}
在解决方案的资源管理器中右键你的CPP文件->属性->找到预编译头->在预编译头中选择不适用预编译头。
最后点编译。
第六步:
将生成的DLL文件放到类的目录中
最后一步:
运行!
我说的你们听明白了么?
如果听明白了,那么实现毛玻璃的方法就不难了,只简单的调用WIN API而已
先看我JAVA代码
import java.awt.Color;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class AeroTest extends JFrame{
public native void AeroShow();
static {
System.out.println("进入加载");
System.loadLibrary("AeroCall");
}
JPanel redPanel=new JPanel();
JButton testButton =new JButton("测试组件:按钮");
public AeroTest(){
redPanel.add(testButton);
redPanel.setBackground(Color.red);//务必将面板设置成红色
this.setTitle("毛玻璃测试");//必须设置标题头
this.setSize(800,500);
this.getContentPane().add(redPanel);
this.setVisible(true);
}
public static void main(String[] args) {
AeroTest AeMain=new
AeroTest();
AeMain.AeroShow();
}
}
以下是C语言代码
#include <jni.h>
#include "AeroTest.h"
#include <stdio.h>
#include <iostream>
#include <Windows.h>
#include <WinUser.h>
#include <Uxtheme.h>
#include <dwmapi.h>
#pragma comment (lib, "Uxtheme.lib")
#pragma comment (lib, "dwmapi.lib")
using namespace std;
JNIEXPORT void JNICALL Java_AeroTest_AeroShow(JNIEnv *env,jobject
obj)
{
HWND hwnd = FindWindow(NULL,L"毛玻璃测试"); //查找 标题为
"毛玻璃测试"的对话框
SetWindowLong(hwnd,GWL_EXSTYLE,
GetWindowLong(hwnd,GWL_EXSTYLE)^0x80000);
SetLayeredWindowAttributes(hwnd,0x0000ff, 255, LWA_ALPHA |
LWA_COLORKEY); //设置透明
MARGINS mar={-1};
DwmExtendFrameIntoClientArea(hwnd,
&mar);
//毛玻璃范围
return;
}
其实实现的方法很简单,在JAVA中将面板的颜色设置成红色并设置窗口标题,C语言的代码的意思是找到窗口,然后把红色的地方全部变成毛玻璃透明~~~
就是这么简单~懂了么?
分享到:
相关推荐
本教程将专注于一个特定的主题——"毛玻璃效果"(也称为模糊背景或亚克力效果)在Java Swing中的实现。 毛玻璃效果是一种设计趋势,它在界面上创建半透明、模糊的背景,以突出显示前景元素。在Java Swing中,我们...
实时、动态的毛玻璃效果,javaSwing 实现的,ios7的毛玻璃效果可以让用户的注意力集中到他需要注意的地方,本demo根据之前写的例子改变而来,实现了实时、动态的毛玻璃效果,希望给有需要的人一点帮助,因为花了点...
用java swing实现ios7的毛玻璃效果,毛玻璃效果实则是图片的高斯模糊滤镜处理。本demo非常简易的实现可调模糊的半径和可选填充蒙上一层透明颜色。
Swing是Java编程语言中用于构建图形用户界面(GUI)的一个强大的工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件库,包括按钮、文本框、菜单、滚动面板等,允许开发者创建功能完备且具有...
swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3swing-layout-1.0.3...
Swing 教程 Swing 简介 Swing 是 Java 的一个图形用户界面(GUI)工具包,用于创建跨平台的 GUI 应用程序。Swing 是 Java Foundation Classes(JFC)的一个组件,提供了大量的轻量级 GUI 组件,可以用来创建复杂的...
Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于帮助开发者创建桌面应用程序。Swing提供了一系列组件,如按钮、文本框、菜单等,允许开发者构建功能...
Swing计算器是一款基于Java Swing库开发的简单计算工具。Swing是Java的一种图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,主要用于构建桌面应用程序。本项目的核心在于利用Swing组件来...
* 以前或许大家对一个UI组件是否透明没有那么关心,但是自从Vista的毛玻璃出现后, * UI透明就成了大家非常关注的一个话题,于是Java阵营开始了铺天盖地的讨论如何实现透明的效果, * 但是很不幸的是无论组件...
Java Swing 是Java编程语言中用于构建桌面应用程序用户界面的一个库,它是Java Foundation Classes (JFC) 的一部分。Swing 提供了一系列组件,如按钮、文本框、菜单等,用于创建功能丰富的图形用户界面(GUI)。在...
Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面...
Swing是Java提供的一种用于构建图形用户界面(GUI)的库,它允许开发者创建美观、交互性强的应用程序。在默认情况下,Swing组件的外观可能显得较为朴素,但通过一些特殊的技术,我们可以对其进行美化,使其更具吸引...
Spring 和 Swing 是两个在 Java 开发中非常重要的库。Spring 是一个开源的框架,主要用于构建企业级的 Java 应用程序,它强调依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,...
Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一套丰富的组件,用于创建桌面应用程序,包括按钮、文本框、菜单、滚动面板等。Swing是完全由Java...
Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。在Java中,Swing提供了丰富的组件集,允许开发者创建美观且功能强大的桌面应用程序。"java+swing漂亮...
Swing_hack是一个关于Java Swing库的专题,它聚焦于如何优化、调整和解决Swing组件中的各种问题,以及如何利用Swing进行高效且复杂的GUI编程。Swing是Java平台上用于构建图形用户界面(GUI)的工具包,它是Java ...
Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件和工具,用于构建桌面应用程序。Swing 提供了一种可定制外观和感觉(LookAndFeel)的方法,使得开发者可以改变应用的视觉风格,以满足不同用户...
在Java Swing开发中,Swing组件库是一个强大的工具集,用于构建图形用户界面(GUI)。这个库主要围绕着`javax.swing`包展开,它提供了丰富的组件、布局管理器以及事件处理机制,使得开发者可以创建出复杂的桌面应用...
"Java Swing 教程精通 Java Swing" Java Swing 是 Java 平台的 UI 组件库,提供了处理用户和计算机之间全部交互的软件。它提供了处理键盘、颜色、打字的地址栏、音量等 UI 各方面内容的机制。Swing 的角色是充当...