使JFrame透明

首先创建一个带有滑块的框架,该滑块将用于设置透明度量。
import javax.swing.JFrame;
import javax.swing.JSlider;public class TransparentFrame extends JFrame {public TransparentFrame() {setTitle('Transparent Frame');setSize(400,400);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);JSlider slider = new JSlider(JSlider.HORIZONTAL);add(slider);setVisible(true);}public static void main(String[] args) {new TransparentFrame();}
}

其输出将是:

现在将更改侦听器添加到滑块,以便我们可以对其进行监视。

slider.addChangeListener(new ChangeListener() {@Overridepublic void stateChanged(ChangeEvent e) {}
});

现在,我们将在此方法中编写透明性逻辑,但是在执行此操作之前,首先让我们看看如何使JFrame透明。

为了使JFrame透明,java具有一个内置的实用程序类AWTUtilities 。 通过使用此类提供的方法,我们可以使JFrame透明。 以下是该代码:

AWTUtilities.setWindowOpacity(window, floatOpacity);

参数:

窗口–您的框架/窗口对象。

floatOpactity-在0到1之间。1表示不透明,0表示完全透明。

因此,现在我们知道我们必须将此逻辑添加到滑块更改事件,并将滑块值指定为floatOpacity值。 因此对于以下状态更改stateChanged()方法:

@Override
public void stateChanged(ChangeEvent e) {JSlider slider = (JSlider) e.getSource();if(!slider.getValueIsAdjusting()){AWTUtilities.setWindowOpacity(TransparentFrame.this, slider.getValue());}
}

认为已经完成。 不,我们仍然必须确保不透明度值不超过其0.0f到1.0f的限制。 因此,我们必须将滑块限制为这些值。 由于滑块不支持点值,因此我们将以10的倍数取值,然后将它们除以100得到所需的值。 为此,我们将更改JSlider声明和stateChanged,如下所示:

JSlider slider = new JSlider(JSlider.HORIZONTAL, 10, 100, 100);

在stateChanged方法中更改以下行:

AWTUtilities.setWindowOpacity(TransparentFrame.this, slider.getValue()/100f);

因此,现在当我们运行该程序时,我们会看到一个框架,其中带有一个设置为结束的滑块。 当我们更改滑块时,框架会相应地更改其透明度。

输出:

注意:

要在Eclipse中使用AWTUtilities类,您需要更改首选项设置,否则访问受限类可能会出错。 要更改设置,请执行以下操作:

  1. 右键单击您的项目。 选择属性。
  2. 选择Java编译器并将其展开。
  3. 选择错误/警告。
  4. 启用项目特定的设置。
  5. 在“不建议使用和限制的API”中,您将找到“禁止引用(访问规则)”。将其更改为“警告”或“忽略”

参考: harryjoy博客上的JCG合作伙伴 Harsh Raval 使JFrame透明 。


翻译自: https://www.javacodegeeks.com/2012/09/make-jframe-transparent.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/371206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第一次作业之成员介绍

Lab205的新鲜血液 很理所当然的,实验室的4枚“小鲜肉”在现代软工的课程上组成了一个team,作为一个负责的team长,我当然要放上组员们的自述啦!(为什么不是他述,╭(╯^╰)╮,谁让我是个傲娇的组长…

java自定义分页标签_自定义分页标签--仿javaeye分页效果

效果如图:1、JSP规范1.1版本后增加了自定义标签库。实现自定义标签的步骤(1)开发自定义标签处理类。(2)建立*.tld文件。(3)在web.xml中增加自定义标签的定义。(4)在jsp中使用自定义标签。2、自定义标签类(1)继承javax.servlet.jsp.tagext.TagSupport(2)标签类属性&a…

Java隐藏代码

不久前,我遇到了字符串中不可见字符的问题。 因为它们是不可见的,所以它们确实会引起混乱。 String a "Hello\u200e";String b "Hello\u200f";System.out.println(\ a " and " b " are length " a.length…

201521123052《Java程序设计》第5周学习总结

1. 本周学习总结 1.1 尝试使用思维导图总结有关多态与接口的知识点。 1.2 可选:使用常规方法总结其他上课内容。 学习了更多markdown的知识 参考资料: 百度脑图 XMind 2. 书面作业 作业参考文件下载 1.代码阅读:Child压缩包内源代码package parent;publi…

Deepin安装Curl的方法

Deepin安装Curl的方法 以Deepin为例,只需一条命令即可: sudo apt-get install curl libcurl3 libcurl3-dev php5-curlposted on 2017-09-15 23:22 MissA-VeryGood 阅读(...) 评论(...) 编辑 收藏 转载于:https://www.cnblogs.com/MissA-VerGood/p/752911…

亚信联创java面试题_亚信联创面试题及答案

1. Vector & ArrayList1) Vector的方法都是同步的(Synchronized),是线程安全的(thread-safe),而ArrayList的方法不是,由于线程的同步必然要影响性能,因此,ArrayList的性能比Vector好。2) 当Vector或ArrayList中的元素超过它的初始大小时,…

HTTP协议之http状态码详解

什么是HTTP状态码 HTTP状态码的作用是:Web服务器用来告诉客户端,发生了什么事。 状态码位于HTTP Response 的第一行中,会返回一个”三位数字的状态码“和一个“状态消息”。 ”三位数字的状态码“便于程序进行处理, “状态消息”更…

有用的Ant构建标签

问题: 如何在ant文件中执行以下任务? 制作zip文件。 运行命令。 将文件复制到远程计算机。 在远程Linux机器上运行命令。 打开输入框并响应输入值。 拨打蚂蚁电话。 答案: 1.制作zip文件: 以下是在ant中制作zip文件的xml…

poj-2955-Brackets-区间DP

poj-2955-Brackets-区间DP BracketsTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 9014 Accepted: 4829Description We give the following inductive definition of a “regular brackets” sequence: the empty sequence is a regular brackets sequence,if s …

Python调用(运行)外部程序

在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其他脚本,或者程序提供的功能,而不必再次编写实现该功能的代码。为了更好地控制运行的进程,可以使用win32process模块中的函数。如果想进一步控…

Java中已检查和未检查的异常

Java有两种类型的异常-已检查和未检查。 简而言之,选中的是指开发人员可以从异常中合理恢复的情况,而未选中的异常是无法处理的编程错误。 本文介绍了何时使用哪种。 但这不是那么简单–受检查的异常使代码变得“丑陋”。 它们迫使开发人员编写try / cat…

CCF - 201403-3 - 命令行选项

问题描述 试题编号:201403-3试题名称:命令行选项时间限制:1.0s内存限制:256.0MB问题描述: 问题描述请你写一个命令行分析程序,用以分析给定的命令行里包含哪些选项。每个命令行由若干个字符串组成,它们之间恰好由一个空…

java 枚举 values_JAVA 枚举运用一 values方法

importjava.lang.reflect.Method;importjava.lang.reflect.Type;importjava.util.Set;import java.util.*;public classEnumJavaClass {public enumEnumClass{One("参数变量枚举一"),Two("参数变量枚举二"),Three("参数变量枚举三");privateStri…

telnet测试端口是否正常打开

点击计算机的开始菜单--》运行 ,输入CMD命令,然后确定。打开cmd命令行。 输入telnet测试端口命令: telnet IP 端口 或者 telnet 域名 端口 回车 如果端口关闭或者无法连接,则显示不能打开到主机的链接,链接失败 端口…

Linux历史,安装,分区,版本

Linux 历史 1970年是 UNIX元年,这一年 Kenneth Lane Thompson 和 Dennis Ritchie 合作编写了UNIX系统。Stallman 发起了GNU 计划,他本人开发了Emacs, GCC, GDB.Minix:教学用的类UNIX系统,由于UNIX是收费的且价格昂贵,因…

放弃Eclipse Juno

在上一个博客中,我发布了有关Eclipse 4.2 Juno设置的信息。 万一我需要重新安装其他东西,也可以作为参考。 当时我没有谈论的是我与Juno共同遇到的问题。 我以为这是我自己的安装程序,很麻烦,但是此后并没有太大改善。 我遇到的主…

Java instead of 用法_我又不是你的谁--java instanceof操作符用法揭秘

背景故事《曾经最美》是朱铭捷演唱的一首歌曲,由陈佳明填词,叶良俊谱曲,是电视剧《水晶之恋》的主题曲。歌曲时长4分28秒。 歌曲歌词:看不穿你的眼睛藏有多少悲和喜像冰雪细腻又如此透明仿佛片刻就要老去整个城市的孤寂不止一个你…

3.26

http://codeforces.com/gym/101196/attachments A题 B题 题意:一群人玩桌上足球(>4人),分成黑白两队,每队有进攻和防守两名玩家,如果有一方失败则失败方的防守坐到等候席的结尾、进攻被流放到防守区再上来一个人作为进攻方。而…

scala akka通信机制

https://www.2cto.com/kf/201701/587514.html转载于:https://www.cnblogs.com/rocky-AGE-24/p/7542874.html

JUnit通过失败测试案例

为什么要建立一种预期测试失败的机制? 有一段时间,人们会希望并期望JUnit Test案例失败。 尽管这种情况很少见,但确实发生了。 我需要检测JUnit测试何时失败,然后(如果期望的话)通过而不是失败。 具体情况是…