gpt4 book ai didi

java - 使用 JavaFx 监听系统剪贴板

转载 作者:行者123 更新时间:2023-11-29 07:46:42 25 4
gpt4 key购买 nike

正如这个问题的答案中所述,可以设置一个时间线来检查系统剪贴板中是否有变化:

Set and use variables outside timeline in javafx 8

但是有没有更好的办法呢?例如,一个事件监听器?我搜索了 JavaFx 8 文档,但没有发现任何明显有用的信息。

首选使用 JavaFx 的解决方案,但欢迎所有答案。

最佳答案

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.input.Clipboard;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Main extends Application {

@Override
public void start(Stage primaryStage) throws Exception {

final Clipboard systemClipboard = Clipboard.getSystemClipboard();

new com.sun.glass.ui.ClipboardAssistance(com.sun.glass.ui.Clipboard.SYSTEM) {
@Override
public void contentChanged() {
System.out.print("System clipboard content changed: ");
if ( systemClipboard.hasImage() ) {
System.out.println("image");
} else if ( systemClipboard.hasString() ) {
System.out.println("string");
} else if ( systemClipboard.hasFiles() ) {
System.out.println("files");
}
}
};

primaryStage.setScene(new Scene(new StackPane()));
primaryStage.show();
}

}

测试:

  • 按键打印屏幕
  • Ctrl+C 选择字符串
  • Ctrl+c 选择文件

关于java - 使用 JavaFx 监听系统剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25098813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com