JavaFX 8u20天的未来过去(始终在最前面)

自从我发布有关JavaFX的主题以来已经有很长时间了。 因此,如果您仍在追随,那就太棒了!

介绍

在这篇博客文章中,我想写一篇关于从JavaFX 8 update 20开始的非常酷的功能的博客,该功能使您的应用程序始终位于其他应用程序之上。 这意味着在您的桌面上,基于JavaFX的应用程序可以是一个浮动小部件,将保留在所有其他应用程序上方(z顺序)。 例如,右上角的天气小部件将不会被其他应用程序所遮盖。 因此,我很高兴与您分享这个惊人的功能“ Always On Top”。

历史

过去,Java Swing开发人员将依赖于Window.setAlwaysOnTop(boolean)方法。 这项功能使Swing开发人员可以构建具有本机外观和本机性能的桌面应用程序。 从JavaFX 1.x开始,就一直强烈要求此功能(最初由Stephen Chin @steveonjava要求WidgetFX框架)。 此功能请求是JIRA票证RT-153 。 图1是功能请求,状态为“已解决”。

图1:吉拉票RT-153

图1:吉拉票RT-153

尽管JavaFX 1.x,2.x和Java 8u20之前的版本没有使用此功能,但现在终于可以使用了。 对于那些不知道如何报告错误或提出新功能的人,我建议您转到JavaFX JIRA系统。

示例:天气小部件

假设您了解自2.0版以来的JavaFX基础知识,那么典型的应用程序将包括从javafx.application.Application类扩展。 开发JavaFX桌面应用程序时,平台API将为您提供一个(javafx.stage.Stage)窗口。 Stage对象将具有以下方法来访问Always on top属性。

  • alwaysOnTopProperty()
  • setAlwaysOnTop(boolean)
  • isAlwaysOnTop()

以下代码段使用setAlwaysOnTop(boolean)方法将舞台设置为始终位于最上面。

public class KeyholeDemo extends Application {@Override public void start(Stage primaryStage) {primaryStage.initStyle(StageStyle.TRANSPARENT);primaryStage.setAlwaysOnTop(true);// code omitted...}public static void main(String[] args) {launch(args);}
}

怎么运行的

如清单上方所示, start()方法将舞台设置为透明,成为没有标题栏的JavaFX窗口。 这允许应用程序在桌面上具有不规则形状的窗口。 如果网络人员再次向您兜售JavaFX,请向他们询问以下问题:“ HTML5可以在桌面上创建不规则形状的窗口吗? (总在最前面)”。 接下来,通过setAlwaysOnTop()方法将舞台设置为始终位于最上面。

演示版

意识到这个功能非常抢手后,我基本上在Github上更新了旧的“ KeyholeWidget ”项目,并创建了一个视频,在桌面上演示了该小部件。 这是视频:

要查看完整的代码清单,请访问Github项目“ KeyholeWidget ”。

希望您喜欢这个很棒的功能(我知道我喜欢)。 和往常一样,请在下面留下评论。

编码愉快!

翻译自: https://www.javacodegeeks.com/2014/05/javafx-8u20-days-of-future-past-always-on-top.html

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

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

相关文章

cocos creator实战-(三)简单例子摇杆控制角色移动

(待完善,给玩家加上摄像机跟随效果) 1、stick监听cc.Node.EventType.TOUCH_MOVE事件,获取tick移动的坐标和朝向,限制移动的范围 2、根据stick的朝向,每帧更新player的位置和方向 // 摇杆代码 joy_stick.jsc…

php构造数组,并把多数组插入php文件

晚上做的一点东西&#xff0c;发出来大家共享下&#xff01; Code<?php //php 链接数据库mysql_connect("localhost", "root", "hicc") or die("Could not connect: " . mysql_error());mysql_select_db("babyker");$re…

针对新手的Java EE7和Maven项目–第6部分

从前面的部分恢复 第1 部分 &#xff0c; 第2 部分 &#xff0c; 第3 部分 &#xff0c; 第4 部分 &#xff0c; 第5部分 在上一篇文章&#xff08;第5部分&#xff09;中&#xff0c;我们发现了如何使用Arquillian&#xff08;我们的EJB服务&#xff09;进行单元测试&#xf…

Starter pom

以下图片是引用书籍内容&#xff1a; 比如你在用boot写一个web项目&#xff0c;在maven中你会导入&#xff1a; <!-- 导入spring boot的web支持 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-we…

在 CentOS/Fedora 下安装 JAVA 环境

介绍 本文介绍如何在 CentOS 7&#xff08;6/6.5&#xff09;、 Fedora、RHEL 上安装 Java。Java是一个流行的软件平台&#xff0c;允许您运行Java应用程序。 本文涵盖了以下Java版本的安装&#xff1a; OpenJDK 8Oracle Java 8先决条件 在开始之前&#xff0c;您应该有一个能够…

ActiveMQ –经纪人网络解释–第5部分

在前面的第4部分中&#xff0c;我们已经看到了如何使用网络连接器在队列中平衡远程使用者的负载。 在第5部分中&#xff0c;我们将看到如果在某个主题上有并发远程持久订阅者&#xff0c;则相同的配置将如何工作。 考虑以下配置…。 图1&#xff1a;经纪人网络–主题上的负载…

小程序: 域名配置

1. 问题 在小程序中&#xff0c;如果我们没有在微信公众平台: 配置 https开头的、备案过的域名话&#xff0c;调用该域名下的接口&#xff0c;就会报错 当然&#xff1a; 如果只是简单的学习下小程序使用的话&#xff0c;可以不校验域名 — 微信开发者工具中&#xff1a; 详情 …

C++迭代器简介

迭代器是一种检查容器内元素并遍历元素的数据类型。 标准库为每一种标准容器&#xff08;包括 vector&#xff09;定义了一种迭代器类型。迭代器类型提供了比下标操作更通用化的方法&#xff1a;所有的标准库容器都定义了相应的迭代器类型&#xff0c;而只有少数的容器支持下标…

硅谷企業面臨新的反壟斷枷鎖

硅谷的公司正面臨著加強反壟斷審查的新階段﹐這是對奧巴馬政府加強執法和持續不斷的海外壓力所做出的反應。 對在其行業中佔據主導地位的企業採取更嚴格的立場可能會考驗這些科技業巨頭在布什政府時期採取的政府關係策略。Associated Press奧巴馬政府任命的司法部負責反壟斷執法…

Spring Java配置:会话超时

当您可以使用基于Java的配置开发Spring应用程序时&#xff0c;我们生活在一个美好的时光。 不再有多余的XML代码&#xff0c;只有纯Java代码。 在本文中&#xff0c;我想讨论一个关于Spring应用程序中会话管理的热门话题。 更确切地说&#xff0c;我将以Java配置样式讨论会话超…

分而治之思想

当一个问题的规模很大时&#xff0c;直接求解往往比较困难。对于这类问题&#xff0c;很大一部分是可以采取分而治之的思想来处理的。 分治法是把问题划分成多个子问题来进行处理。这些子问题&#xff0c;在结构上跟原来的问题一样&#xff0c;但是规模比原来的问题要小。如果得…

诡异的DateTime.TryParseExact方法

老赵在介绍Routing扩展的WebCast中出了点“小状况”&#xff0c;即将DateTime.ToString(“yyyy-MM-dd”)修改为DateTime.ToString(“yyyy/MM/dd”)后&#xff0c;页面中仍然显示为yyyy-MM-dd样式的日期格式。相信看过WebCast的同学都还记得吧。我不解&#xff0c;将老赵代码中D…

iSlide——图标库、图示库的用法

iSlide中&#xff0c;有一个“图示库”功能&#xff0c;主要功能是同时排列多块文字或多张图片。单击插图库&#xff0c;会弹出一个新的对话框。从中&#xff0c;可以选择权限、分类、数量数据和样式&#xff0c;也可以直接搜索。 下面就举一个例子&#xff1a;我要开一个班队会…

查看系统剩余空间

1.剩余空间&#xff1a;df -h 2.追踪最耗费硬盘的文件位置 cd /du -h --max-depth1 | sort -rn 转载于:https://www.cnblogs.com/xiaobiaomei/p/10669159.html

『ExtJS』01 001. ExtJS 4 类的定义

ExtJS 4 类的定义类的定义与类方法的调用 样例代码// Define new class Vehicle under the Cookbook namespaceExt.define(Cookbook.Vehicle, {// class configuration goes hereManufacturer : Aston Martin,Model : Vanquish,getDetails : function() {alert(I am an this…

使用C#調用外部程式或是執行DOS命令

在.NET裡要如何調用外部程式呢?? 在.net裡&#xff0c;提供了Process類&#xff0c;提供我們強大的調用外部工具功能&#xff0c;並透過重新導向輸入與輸出&#xff0c;可以取得執行結果&#xff0c;下面就用一個例子來示範在一個WinForm裡輸入一個Dos命令&#xff0c;然後呼…

SQLiteOpenHelper+ContentProvider的使用

效果图&#xff1a; PetDbHelper package com.example.admin.pets;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;import com.example.admin.pets.PetContract.PetEntry;public class PetDb…

[Mac入门] 如果更快的打开程序或文件

今天有位网友问我在Windows下可以用CtrlR快速打开程序/文件夹等&#xff0c;在Mac下有没有相类似的功能&#xff1f;本文将介绍一些我的一般做法。 1.Windows下的CtrlR是什么&#xff1f; 我打算从解释CtrlR开始说起&#xff0c;希望朋友们别嫌烦&#xff5e;。Windows下系统全…

ActiveMQ –经纪人网络解释–第4部分

在前面的第3部分中 &#xff0c;我们已经看到ActiveMQ如何帮助将远程使用者与本地使用者区分开来&#xff0c;这有助于确定从消息生产者到使用者的较短路径。 在第4部分中&#xff0c;我们将研究如何在远程代理上负载均衡并发使用者。 让我们考虑一些高级配置&#xff0c;以平…

总结CSS3新特性(选择器篇)

CSS3新增了嗯- -21个选择器,脚本通过控制台在这里运行; ~: p ~ p {color : red;/*此条规则将用于p后边所有的p...就是除了第一个p的所有p,规则同p:not(:nth-of-type(1)),但是权重要低于后者*/} [attribute^value]: 选择该属性以特定值开头的元素 [attribute$value]: 选择该属…