How do I play an alert sound in Java FX 2?

Is there a way of using the OS default notification sound?

解决方案

Play a sound with pure JavaFX

Simply use an instance of AudioClip. This one is very suitable for just playing single short sounds.

Play a default notification sound

Concerning Windows OS there is a way accessing properties via java.awt.Toolkit. A returned sound property is a simple Runnable which can be fired directly without any worries about sound sources etc.

Use the example below to see how both options work (you have to add 'alert.wav' to your src folder).

package audioplayer;

import java.awt.Toolkit;

import javafx.application.Application;

import javafx.event.ActionEvent;

import javafx.event.EventHandler;

import javafx.scene.Scene;

import javafx.scene.control.Button;

import javafx.scene.layout.VBox;

import javafx.scene.media.AudioClip;

import javafx.stage.Stage;

public class AudioPlayer extends Application {

private static final AudioClip ALERT_AUDIOCLIP = new AudioClip(AudioPlayer.class.getResource("/alert.wav").toString());

public static void main(String[] args) {

launch(args);

}

@Override

public void start(Stage primaryStage) {

VBox root = new VBox();

Scene scene = new Scene(root, 300, 250);

Button btn = new Button();

btn.setText("Play (My Sound)");

btn.setOnAction(new EventHandler() {

@Override

public void handle(ActionEvent event) {

AudioPlayer.ALERT_AUDIOCLIP.play();

}

});

Button btn2 = new Button();

btn2.setText("Play (Windows Default)");

btn2.setOnAction(new EventHandler() {

@Override

public void handle(ActionEvent event) {

final Runnable runnable = (Runnable) Toolkit.getDefaultToolkit().getDesktopProperty("win.sound.default");

if (runnable != null) {

runnable.run();

}

}

});

root.getChildren().add(btn);

root.getChildren().add(btn2);

primaryStage.setScene(scene);

primaryStage.show();

}

}

java fx消息通知,Java的FX 2警报声相关推荐

  1. java socket 消息中转,Java中Socket实现消息传输(传输原型)

    项目已经做的差不多了,其中做了一个消息的转发功能,所以自己也写一个简单的例子看看 先一步步的来吧,先写好一个Socket的消息传输的原型来,再一步步的改进吧. 其实在这个基础上要中的东西还是很多的 1 ...

  2. java fx消息通知_如何设置对话框控件Java FX / Java 8的图标

    Marco Jakob有一个非常好的教程 @L_301_1@,您可以在其中找到不仅如何使用对话框,还可以找到如何解决您的问题. 对于新的对话框(在JDK8u40早期版本中,或者具有JDK 8u25的o ...

  3. Android,ios,安卓app推送消息通知,java后台向手机推送app的通知教程

    文章目录 一.业务介绍 1.1 产品简介 1.2 名词解释 1.3 消息推送流程 二.应用创建 三.客户端 SDK 集成 3.1 Android 3.2 iOS 四.服务端推送 4.1 服务端消息下发 ...

  4. 微信公众号授权获取用户OpenID和UnionId然后发生消息通知

    微信公众号授权获取用户OpenID和UnionId然后发生消息通知 1.获取微信公众号code 1.微信公众拿取公众号appid和appSecret 2.网页域名授权,这里的域名拼接上html所在位置 ...

  5. Java中集成极光推送实现给Android提送消息通知(附代码下载)

    场景 Android中集成极光推送实现推送消息通知与根据别名指定推送附示例代码下载: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details ...

  6. 用Java弹出创建新的消息通知

    首先创建JFrame作为弹出窗口. 在其中添加一些JLabel以包含信息,并在适当的位置分配它们,使其看起来像一条通知消息. 下面给出了示例代码: String message = 'You got ...

  7. java 观察者模式_重学 Java 设计模式:实战观察者模式「模拟类似小客车指标摇号过程,监听消息通知用户中签场景」...

    一.前言 知道的越多不知道的就越多 编程开发这条路上的知识是无穷无尽的,就像以前你敢说精通Java,到后来学到越来越多只想写了解Java,过了几年现在可能想说懂一点点Java.当视野和格局的扩大,会让 ...

  8. Chart FX Gauges for Java仪表计量器控件下载及详细介绍

    Chart FX Gauges for Java 提供了一系列 控件使Java开发人员能快速有效地将 仪表计量器整合到Java的应用程序中.控件提供了设计时支持,开发人员能快速地设计出理想的仪表. 具 ...

  9. java对接钉钉发送消息通知

    现在,许多的消息会议,工作任务安排都不在是通过邮件呀,或者是使用口头表达的形式了,都是一些通讯软件进行分发,在工作中,也会有一些东西需要通过程序进行自动发送一些消息通知到指定的人,告诉他,你的,干活的 ...

最新文章

  1. python连sql server学生管理系统_Python 跨平台连接 SQL Server
  2. JavaScript——易班优课YOOC课群在线测试自动答题解决方案(二十)整理维护
  3. LeetCode Algorithm 35. 搜索插入位置
  4. 消防信号二总线有没电压_春晓161#地块人防工程消防电源监控系统的设计与应用...
  5. HDU 4487 Maximum Random Walk
  6. spring+mybatis+druid+mysql+maven事务配置
  7. 超经典两万字,MySQL数据库快速入门。
  8. recyclerview放不同的布局_RecyclerView系列之(2):为RecyclerView添加分隔线
  9. 自动按键 回车 变成_【按键大扫荡】驾驶员的“眼”
  10. WordPress插件 AffiliateWP 电商联盟推广插件汉化/中文版[更新至v1.8]
  11. matlab车牌识别错误,matlab车牌识别调入切割函数后就不出图了?也没有显示错误...
  12. 图数据库初探——6. Nebula Graph安装和简单使用
  13. 绿色发展视域下都柳江流域水族传统生态文化研究
  14. 美国农业初创公司Gotham Greens获2900万美元融资:用大数据运营温室
  15. 行政组织理论-阶段测评2
  16. 【Midjourney教程】设计麻瓜也能10分钟上架一套表情包
  17. Unity基于YooAssets资源管理1
  18. 赛效:在线录屏用什么
  19. DBeaver 编辑器中切换大小写字符转换
  20. 【python】 给目录内文件批量改名

热门文章

  1. STM32 基础系列教程 30 - 文件系统
  2. 数字信号处理篇(一) 采样定理
  3. 杨氏干涉的模拟的MATLAB仿真
  4. 基于FPGA的bubble游戏开发
  5. Plate impulse response spatial interpolation with sub-Nyquist sampling
  6. java中实现对list的模糊查询
  7. linux设置开机自启动
  8. vs2010 问题 LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
  9. skynet给集群中的一个节点配置多个通道
  10. ASP.NET Core 中文文档 第四章 MVC(4.3)过滤器