java fx消息通知,Java的FX 2警报声
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();
}
}
總結(jié)
以上是生活随笔為你收集整理的java fx消息通知,Java的FX 2警报声的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 储蓄卡能办etc吗
- 下一篇: java 线程包_Java 多线程——工