`
lzchacker
  • 浏览: 18934 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Swing 毛玻璃

    博客分类:
  • java
 
阅读更多

关于Java如何在windows 7 32bit 实现毛玻璃透明

(2012-01-07 19:54:12)
标签:

杂谈

有图有真相!

关于Java如何在windows <wbr>7 <wbr>32bit <wbr>实现毛玻璃透明

首先学会在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

关于Java如何在windows <wbr>7 <wbr>32bit <wbr>实现毛玻璃透明

此时在你类的目录下会多出一个DLLtest.h文件。

关于Java如何在windows <wbr>7 <wbr>32bit <wbr>实现毛玻璃透明
第四步:

将.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;
}
关于Java如何在windows <wbr>7 <wbr>32bit <wbr>实现毛玻璃透明

在解决方案的资源管理器中右键你的CPP文件->属性->找到预编译头->在预编译头中选择不适用预编译头。

最后点编译。

第六步:

将生成的DLL文件放到类的目录中

最后一步:

运行!

关于Java如何在windows <wbr>7 <wbr>32bit <wbr>实现毛玻璃透明

我说的你们听明白了么?

如果听明白了,那么实现毛玻璃的方法就不难了,只简单的调用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中的实现。 毛玻璃效果是一种设计趋势,它在界面上创建半透明、模糊的背景,以突出显示前景元素。在Java Swing中,我们...

    实时、动态的毛玻璃(aero)效果,javaSwing 实现的,用的是高斯模糊算法

    实时、动态的毛玻璃效果,javaSwing 实现的,ios7的毛玻璃效果可以让用户的注意力集中到他需要注意的地方,本demo根据之前写的例子改变而来,实现了实时、动态的毛玻璃效果,希望给有需要的人一点帮助,因为花了点...

    java swing 实现ios7毛玻璃效果,高斯模糊算法

    用java swing实现ios7的毛玻璃效果,毛玻璃效果实则是图片的高斯模糊滤镜处理。本demo非常简易的实现可调模糊的半径和可选填充蒙上一层透明颜色。

    swing-layout-1.0.3

    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 教程 Swing 简介 Swing 是 Java 的一个图形用户界面(GUI)工具包,用于创建跨平台的 GUI 应用程序。Swing 是 Java Foundation Classes(JFC)的一个组件,提供了大量的轻量级 GUI 组件,可以用来创建复杂的...

    java swing漂亮界面 超酷 javaswing教程

    Java Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,用于帮助开发者创建桌面应用程序。Swing提供了一系列组件,如按钮、文本框、菜单等,允许开发者构建功能...

    swing计算器,swing计算器 swing计算器

    Swing计算器是一款基于Java Swing库开发的简单计算工具。Swing是Java的一种图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分,主要用于构建桌面应用程序。本项目的核心在于利用Swing组件来...

    Swing插件下载,swing下载,java-swing下载,swing-plugin

    Swing是Java编程语言中用于构建图形用户界面(GUI)的一个强大的工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了丰富的组件库,包括按钮、文本框、菜单、滚动面板等,允许开发者创建功能完备且具有...

    Swing透明切,美观啊(源码奉送)

    * 以前或许大家对一个UI组件是否透明没有那么关心,但是自从Vista的毛玻璃出现后, * UI透明就成了大家非常关注的一个话题,于是Java阵营开始了铺天盖地的讨论如何实现透明的效果, * 但是很不幸的是无论组件...

    java swing漂亮界面(超酷) javaswing教程

    Java Swing 是Java编程语言中用于构建桌面应用程序用户界面的一个库,它是Java Foundation Classes (JFC) 的一部分。Swing 提供了一系列组件,如按钮、文本框、菜单等,用于创建功能丰富的图形用户界面(GUI)。在...

    Swing精美界面设计和动画制作教程+实例

    Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面设计和动画制作教程+实例Swing精美界面...

    spring+swing的例子

    Spring 和 Swing 是两个在 Java 开发中非常重要的库。Spring 是一个开源的框架,主要用于构建企业级的 Java 应用程序,它强调依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,...

    swing界面美化包

    Swing是Java提供的一种用于构建图形用户界面(GUI)的库,它允许开发者创建美观、交互性强的应用程序。在默认情况下,Swing组件的外观可能显得较为朴素,但通过一些特殊的技术,我们可以对其进行美化,使其更具吸引...

    swing开发的源代码

    Swing是Java编程语言中的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了一套丰富的组件,用于创建桌面应用程序,包括按钮、文本框、菜单、滚动面板等。Swing是完全由Java...

    java+swing漂亮软件界面+超酷+以及javaswing教程.7z

    Java Swing 是Java平台上用于构建图形用户界面(GUI)的一个库,它是Java Foundation Classes (JFC)的一部分。在Java中,Swing提供了丰富的组件集,允许开发者创建美观且功能强大的桌面应用程序。"java+swing漂亮...

    swing_hack,swing_hack

    Swing_hack是一个关于Java Swing库的专题,它聚焦于如何优化、调整和解决Swing组件中的各种问题,以及如何利用Swing进行高效且复杂的GUI编程。Swing是Java平台上用于构建图形用户界面(GUI)的工具包,它是Java ...

    javaSwing皮肤大全.rar

    Java Swing 是Java GUI(图形用户界面)库的一部分,它提供了丰富的组件和工具,用于构建桌面应用程序。Swing 提供了一种可定制外观和感觉(LookAndFeel)的方法,使得开发者可以改变应用的视觉风格,以满足不同用户...

    精通java-swing开发.doc

    在Java Swing开发中,Swing组件库是一个强大的工具集,用于构建图形用户界面(GUI)。这个库主要围绕着`javax.swing`包展开,它提供了丰富的组件、布局管理器以及事件处理机制,使得开发者可以创建出复杂的桌面应用...

    javaswing教程 精通javaswing

    "Java Swing 教程精通 Java Swing" Java Swing 是 Java 平台的 UI 组件库,提供了处理用户和计算机之间全部交互的软件。它提供了处理键盘、颜色、打字的地址栏、音量等 UI 各方面内容的机制。Swing 的角色是充当...

Global site tag (gtag.js) - Google Analytics