Swing开发透明窗体

原创 2011年01月12日 16:18:00

相信读者在使用腾讯QQ时会发现,它的窗体是可以改变透明度的,虽然腾讯QQ采用.NET技术,
但是JAVA同样可以做出一样的效果。
今天在浏览API时偶然看到一个类AWTUtilities,就拿来用用,发现效果非常不错
 
下面具体看看Swing的透明窗体
 
直接写代码了:(我们用一个滑竿组件来控制透明度)
 
代码如下:
 
import java.awt.BorderLayout;
import javax.swing.JFrame;
import javax.swing.JSlider;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class text
{      
    public static void main(String[] args)
    {   
        SwingUtilities.invokeLater(new Runnable()
        {   
            public void run()
            {   
                final JFrame frame = new JFrame("透明窗体");   //定义标准窗体
                JSlider jSlider = new JSlider(JSlider.HORIZONTAL, 0, 100, 100);//定义滑竿,
                //初始值为100%(完全不透明)
                jSlider.addChangeListener(new ChangeListener() {
           public void stateChanged(ChangeEvent ce) {
            float alpha = ((float) ((JSlider) ce.getSource()).getValue()) / 100;//读取滑竿百分比
            // 改变图像的透明度
            com.sun.awt.AWTUtilities.setWindowOpacity(frame, alpha);
            frame.repaint();
           }
          });
                frame.add(jSlider,BorderLayout.SOUTH);
                frame.setSize(400,300);
                frame.setVisible(true);   
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                com.sun.awt.AWTUtilities.setWindowOpacity(frame, 1f);//初始化透明度100%   
            }   
        });   
    }   
}  
 
 
运行结果如下:
初始化:        


 

 

 

 


移动滑竿改变透明度:


 
 
很炫吧!
 
如果读者能做出更炫酷的窗体,请提出来,互相交流,谢谢!!

Java窗体透明化(无边框)

Java 窗体透明化(无边框)这几天我在写一个记事本程序,为了方便记事本记事,我准备将记事本界面透明化。于是上网查了一下资料。然后将透明化界面做了出来。可是在做的过程中我还是遇到了一些小小的问题,所以...
  • x1020915098
  • x1020915098
  • 2017年02月24日 16:01
  • 2577

Java 透明和不规则 Swing 窗口

swingjavajcomponent工具api跨平台 目录(?)[+] 历史 本机应用程序的开发人员通常在开发 UI 应用程序中享受了更高级的灵活性。但是为此而付出...
  • ltqwby
  • ltqwby
  • 2015年02月01日 00:34
  • 2015

Swing带背景图的窗体

必须要用Swing来做一个窗口,想做一个带有背景图的窗体,结果两天了还没解决[img=http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/0...
  • jiratao
  • jiratao
  • 2014年08月16日 01:01
  • 3175

Java Swing中的透明窗体(Windows中消息提示框的制作)

首先需要在工程中导包,需要用到JRE中的rt.jar包,我的JDK安装在C盘,目录如下:C:\Program Files\Java\jre7\lib\rt.jar。 我们用到的类是rt包中的com....
  • T_27080901
  • T_27080901
  • 2014年04月02日 15:08
  • 1746

SWING透明窗体,颜色渐变。

创建完全透明窗体,主要先了解以下步骤: 设置JFrame窗口完全透明:AWTUtilities.setWindowOpaque(frame, false);设置JPanel窗口半透明...
  • wk2197727
  • wk2197727
  • 2014年05月06日 12:38
  • 869

JDK 6 u10 中 Swing最新特性:增加透明窗体及不规则窗体功能

支持透明和不规则窗口已经成为 AWT 和 Swing 团队长久以来梦寐以求的功能。尽管本机应用程序在主要操作系统上使用这项功能已经为时已久,但在核心 Java 中还不能使用它。即将发布的 “Consu...
  • hsdjhj
  • hsdjhj
  • 2011年03月19日 17:40
  • 321

Java swing开发|Java实现窗体隐藏

// 先声明都是转载的import java.awt.Point; import java.awt.Rectangle;import java.awt.*; import java.awt.event...
  • Torchfire
  • Torchfire
  • 2012年12月15日 00:05
  • 1106

java在线聊天项目0.2版本 制作客户端窗体,使用swing(用户界面开发工具包)和awt(抽象窗口工具包) BorderLayout布局与GridLayout布局不同之处 JPanel设置大小

代码如下: package com.swift; import java.awt.BorderLayout; import java.awt.Color; import javax.swing....
  • swift2010
  • swift2010
  • 2018年01月01日 00:42
  • 43

使用duilib开发半透明异形窗体程序(补充)

转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/43532791                关于半透明异形窗体的第一篇文...
  • zhuhongshu
  • zhuhongshu
  • 2016年04月26日 15:23
  • 6700

Visual.C.程序开发范例宝典 半透明窗体 源代码

  • 2009年08月23日 19:30
  • 260KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Swing开发透明窗体
举报原因:
原因补充:

(最多只允许输入30个字)