java设置窗体透明_Java透明窗体的设置方法

若将JDK版本升级到最新版本,Java窗体就可以简单实现窗体的透明效果,用户可以通过拉动滑块(Slider)调整窗体透明度,实现窗体不同透明程度的切换。下面让我简单实现窗体透明效果,用户可以做些扩展。

e9dcb4330b24377b20d81d249b3ad39e.png

步骤(STEPS)

打开Java开发工具Eclipse软件,依次选择“文件”、“新建”、“项目”,在“新建项目”窗口中选择“Java项目”,然后点击“下一步”按钮。

926fec58755873517502743213bd7b62.png

4ba73e59642853f04b0b95e6af719a90.png

在出现的窗体中的“项目名称”后自定义输入项目名,然后点击“完成”按钮完成项目的创建。

d89d3b95a7536262875201421b2bf8d8.png

右击创建的项目,在右键列表中依次选择“新建”、“类”,在“新建类”窗体中输入自定义类名,勾选相应复选框,点击“完成”按钮完成类的创建。

082432ebbde8051ba26137989c8d6478.png

f2199510283db9a03a4383af82fc88c9.png

首先,做一些初始化窗体的工作,导入javax.swing.JFrame类,实现JFrame的继承,初始化构造方法头并在main方法内实例化此类以便做测试。

63922ccc5861a5a456257d27e35f2436.png

下面,在构造方法中创建窗体,导入javax.swing.JButton类,在窗体内加入按钮,保持按钮默认的布局方式,最后设置窗体显示,运行程序查看初始效果。

d0251283d2bc2c64e0f35841ab03283e.png

4b423d07794a37bd5bb1da22d94752ec.png

运行Java程序后,将出现如下图所示的初始化窗体界面,用户需关闭窗体做下一步代码的编写。

8513bfe0363ddbc1247788620301dbe7.png

添加按钮BTN的ActionListenr()单击事件,在出现的错误中点击错误处,然后自动导入ActionListener类,但是仍然出现错误,用户需再次点击错误处以添加必要的方法实现。

f6c0941893b7b3f35c8f5ec2add76a48.png

ac4567b04246da7ef667e09da21d378a.png

当用户解决两次错误后,系统自动导入了所需包和加入了所需单击事件的必要方法,直至此步,按钮单机事件的代码如下图所示。

a04738020c9b54ce31c8240ab442fc02.png

新建setOpacity()方法并在按钮的单击事件中调用此方法,然后在此类中作为属性成员加入JSlider滑块控件。

97bea07939013a1c3bc928c6a6858ccf.png

6b871e531de2dd1382901336a95ef137.png

在新建的setOpacity()方法中添加如下代码,设置dialog窗体的大小、位置、大小不可改变等属性,用户可自定义设置属性。

606962b0007ba628abddeadb91d5f2b3.png

创建JLabel,添加slider滑块的滑动事件,并在事件中加入方法slider(),当然此方法需要新建,待会再新建,让我们先把setOpacity()方法中的代码添加完成。

446451cf1d7d640cfd4b53b5d310b88c.png

继续在setOpacity()方法中添加代码,在窗体dialog中加入panel控件,再将lable和slider加入到panel中。

6e2e40a363d5b39ab4c1084330807ee5.png

在方法slider()中添加代码,获取slider的值以改变透明度值,设置鼠标移入滑块时的鼠标指针样式。

cb7ba553d18950661579e8ec92d5bc55.png

运行Java程序,并点击按钮,然后出现调整透明度的窗体,用户就可以设置窗体透明度,show出你的个性。

80410c227ab50498a2d16cf71308126b.png

注意事项(ATTENTIONS)由于滑块的值必须为整数,并且透明度是0.0-1.0,所以滑块这样设置:JSlider slider=new JSlider(0,9,0),滑块的值除以10.0:double value=slider.getValue()/10.0,透明度设置:com.sun.awt.AWTUtilities.setWindowOpacity(this, (float)(1- value))。由于滑块的值必须为整数,并且透明度是0.0-1.0,所以滑块这样设置:JSlider slider=new JSlider(0,9,0),滑块的值除以10.0:double value=slider.getValue()/10.0,透明度设置:com.sun.awt.AWTUtilities.setWindowOpacity(this, (float)(1- value))。

JSlider(0,9,0):JSlider(最小值,最大值,初始值)。JSlider(0,9,0):JSlider(最小值,最大值,初始值)。

com.sun.awt.AWTUtilities.setWindowOpacity(this, (float)(1- value)):com.sun.awt.AWTUtilities.setWindowOpacity(当前窗体, 不透明度值),不透明度值越小窗体越透明,当value值越大时,(float)(1- value)值越小,船体越透明。com.sun.awt.AWTUtilities.setWindowOpacity(this, (float)(1- value)):com.sun.awt.AWTUtilities.setWindowOpacity(当前窗体, 不透明度值),不透明度值越小窗体越透明,当value值越大时,(float)(1- value)值越小,船体越透明。

用户在导入包时,可以简化包的导入,import java.awt.*、import java.awt.event.*分别表示导入awt及awt.event下的所有类。用户在导入包时,可以简化包的导入,import java.awt.*、import java.awt.event.*分别表示导入awt及awt.event下的所有类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值