首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java JFXPanel: eventHandler返回按住按钮而不是按下按钮

Java JFXPanel是JavaFX中的一个组件,用于在Swing应用程序中嵌入JavaFX内容。它提供了一个可以显示JavaFX场景图形的面板,并且可以与Swing组件进行交互。

在JavaFX中,可以使用事件处理器(event handler)来响应用户的交互操作。对于按钮(Button)组件,通常会使用按钮的事件处理器来捕获按钮的按下事件。然而,有时候我们可能需要获取用户按住按钮的事件,而不仅仅是按下按钮的事件。

要实现按住按钮的事件处理,可以使用JavaFX中的鼠标事件(MouseEvent)和键盘事件(KeyEvent)。通过监听鼠标按下和释放事件,以及键盘按下和释放事件,可以判断用户是否按住了按钮。

以下是一个示例代码,演示如何实现按住按钮的事件处理:

代码语言:txt
复制
import javafx.application.Application;
import javafx.embed.swing.JFXPanel;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.input.KeyEvent;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

import javax.swing.*;

public class Main extends JFrame {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFXPanel jfxPanel = new JFXPanel();
            Main main = new Main();
            main.add(jfxPanel);
            main.setSize(300, 200);
            main.setVisible(true);

            Platform.runLater(() -> {
                initFX(jfxPanel);
            });
        });
    }

    private static void initFX(JFXPanel jfxPanel) {
        Button button = new Button("按住我");
        button.setOnMousePressed(event -> {
            System.out.println("按住按钮");
        });
        button.setOnMouseReleased(event -> {
            System.out.println("释放按钮");
        });

        StackPane root = new StackPane();
        root.getChildren().add(button);

        Scene scene = new Scene(root, 300, 200);
        jfxPanel.setScene(scene);
    }
}

在上述代码中,我们创建了一个JavaFX的场景(Scene),并将一个按钮添加到场景中。通过设置按钮的鼠标按下事件处理器(setOnMousePressed)和鼠标释放事件处理器(setOnMouseReleased),我们可以在按住按钮和释放按钮时分别输出相应的信息。

这样,当用户按住按钮时,会输出"按住按钮";当用户释放按钮时,会输出"释放按钮"。

需要注意的是,上述示例代码是在Swing应用程序中使用JavaFX的方式,因此使用了JFXPanel来嵌入JavaFX内容。如果是纯JavaFX应用程序,可以直接在JavaFX的主类中实现相应的事件处理。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云云数据库MySQL。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaFX 11发行说明

添加API以自定义Spinner控件的步骤重复计时 在JavaFX 11中修改值步骤之前,必须在Spinner控件箭头按钮鼠标的默认持续时间。...initialDelay:在下一个值步骤之前必须在箭头按钮鼠标的持续时间。默认值现在为300毫秒。 repeatDelay:在第一个值步骤之后,每个连续步骤必须按鼠标的持续时间。...建议的解决方法是在运行JavaFX应用程序时使用Xorg服务器不是Wayland服务器。请注意,JDK 10或JDK 11不支持Wayland。...使用JFXPanel或SwingNode的应用程序必须在未启用安全管理器的情况运行。有关更多信息,请参阅JDK-8202451。...产生错误的结果 其他 JDK-8193910 cssref.html和introduction_to_fxml.html中的版本号是错误的 其他 JDK-8195799 在javafx模块中使用系统记录器不是平台记录器

6.5K60

第30篇:swing组件添加javafx的webview浏览器组件方法

Part1 前言 Swing是一个用于开发java图形界面程序的工具包,一直用着挺顺手的,美中不足就是没有好用的浏览器组件,只能引用第三方jar包,比如说JxBrowser、DJ Native Swing...Part2 技术研究过程 Swing浏览器组件踩过的坑 先讲一用Swing引用第三方jar包开发浏览器踩过的坑,大家可以参考一。...Swing与Javafx的对比 在Swing图形工具包中,JFrame是一个顶层容器,JPanel是一个中间容器,JPanel上面可以放置各种Button按钮、Label标签等图形控件。...有一个很形象的比喻,JFrame是一张桌子,各个组件是一盘又一盘的菜,JPanel就是一个托盘,装了选好的菜品(组件)后放到JFrame桌子上。...手动敲代码,在JPanel上面放置一个JFXpanel,然后载入一个场景。 4. 手动敲代码,在JFXPanel上放置一个webview控件。 如下图所示,浏览器稳定运行。

2.5K40

Unity3d 连续按键处理和单次按键处理

某个按键下不放叫连续按键,仅在按的首次处理叫单次按键处理。...鼠标右键 } 我推荐使用 Fire 的方法获取 从上面的代码小伙伴可以看到我获取鼠标左键和获取右键用的方法不相同,在 Unity3d 里面通过了以下方法 GetButton 如果传入的虚拟按钮...,那么返回 true 值 GetButtonDown 在虚拟按钮的一帧,返回 true 值 不同就在于 GetButtonDown 只有在虚拟按钮的一帧,返回 true 值,之后就没有返回... GetButton 只要按钮返回 true 可以用来做连续点击 在脚本的 Update 方法里面方式使用 GetButtonDown 作为相机向前移动, GetButton 作为相机向后移动...,此时可以做到鼠标左键点击向前走一步,安装鼠标左键没有反应,点击鼠标右键时,只要按住不放就连续后退 创建一个简单的游戏用来说明一连续按键控制和单次按键控制的不同,接下来的部分是给入门的小伙伴准备的

2K00

Mac 热键大全

3.按住“Optionion”+鼠标拖图像或文件夹可以将图像或文件夹拷贝到其它文件夹中,不是移动;  4.在拖曳图像或文件夹时将图像或文件夹拖至窗口上端的菜单栏可以取消对它的移动或拷贝; 5.按住“...6.按住“return”或“enter”键可以编辑所选图像或文件夹的名称;  7.任一字母键将选择以该字母开头命名的图像或文件夹;  8.同时按住“shift+tab”键将字母顺序选择上一个图像或文件夹...三、使用文件对话框时的巧妙使用: 1.打开对话框时(如使用“文件”菜单的“打开”或“存储”等命令时同时)“.”或“esc”键可以取消该命令;  2.同时“苹果键 + 方向上键”或点按桌面图像可以上移一层...“方向上键”或“方向下键”可以选择上一个或下一个项目;  3.“Optionion + 打开替身”可以显示不是打开替身的原文件;  4....点按窗口关闭格”可以关闭所有文件夹窗口;  3.“command”键+拖曳窗口可以移动该窗口但不使其成为现用窗口;  4.连续点按两下文件夹的标题行即隐藏显示该文件夹,再连续点按两即恢复显示;  5

1.8K50

Matplotlib 中文用户指南 7.1 交互式导航

它们没有意义,除非你已经使用平移和缩放按钮访问了其他地方。 这类似于尝试在访问新页面之前单击 Web 浏览器上的返回 - 什么都不会发生。 首页总是你第一个浏览的页面,以及你的数据的默认视图。...当你释放它时,你的点处的数据将移动到你释放的点。 如果在平移时'x'或'y',移动会分别限制在x或y轴。 鼠标右键并将其拖动到新位置来进行缩放。...Zoom-to-rectangle(缩放到矩形)按钮 单击此工具栏按钮以激活此模式。 将鼠标放在轴域的某处,然后鼠标左键。 在按住按钮的同时拖动鼠标到新位置并释放。...x 将平移/缩放限制于y轴 使用鼠标平移/缩放时按住y 保留宽高比 使用鼠标平移/缩放时按住CONTROL 切换网格 鼠标在轴域上时g 切换x轴刻度(对数/线性) 鼠标在轴域上时L或k 切换y轴刻度...(对数/线性) 鼠标在轴域上时l 如果你使用matplotlib.pyplot,则会为每个图形自动创建工具栏。

2K20

Intellij IDEA 2019 debug断点调试技巧与总结详解

command 对应 ctrl option 对于 alt 为项目配置了运行配置后,可以通过 Shift+F9 在调试模式启动它。...在这种情况,您可以通过 Shift+F7 选择一个特定的方法进行智能化。这样的操作能够很好的节省时间。...由于 Java VM 具有这样的功能 HotSwap,IDE会自动处理这些情况,并且当您在调试模式编译已经更改的类时,会向您提供重新加载已更改的类。...断点回退 在调试的时候,想要重新走一流程不用再次发起一个请求? 方法调用栈 最上面的方法为当前断点所在方法 ? 断点回退 回退到上一个方法调用的开始处....回退的方式有两种 Drop Frame按钮调用的方法逐步回退 在调用栈方法上选择要回退的方法,右键选择Drop Frame ?

5K41

18个您想了解的微小但有用的macOS功能

我用了两年的时间没有注意到Safari的地址栏在私人浏览模式从白色变为灰色。我知道我不是很敏锐。这不是我最近发现的唯一macOS功能,但它却是最令人震惊的。...经过一些试验,我发现当您通过搜索引擎的网页进行搜索不是在Safari地址栏或智能搜索字段中键入查询时,就会发生这种情况。不过,该功能在DuckDuckGo。com上运行良好。...(在“系统偏好设置”>“键盘”>“键盘”查看。)如果有,您可以跳过Fn键,只击F5键。 自动完成功能(Apple称为QuickType)可在大多数文本编辑应用程序以及Safari地址栏中使用。...在选定文件的情况Space键可打开其预览。如果要以全屏模式预览文件,请按Option +空格键。...如果在将图标放到Finder中之前按住Option键,将获得文件的副本不是别名。 15.强制退出应用 是否正在寻找一种关闭不响应或故障应用程序的快速方法?

6K30

苹果iPhone白屏死机?如何修复?

方法一、三指点击 有时,你的iPhone可能不是白屏死机,只是你不小心打开了屏幕放大功能。如果是这样,你可以尝试缩小屏幕从而正常使用设备。...对于iPhone 6及更旧型号:同时主页键和电源键,直到看到苹果标志。 对于iPhone 7和7 Plus:同时电源按钮和音量降低按钮,当你在屏幕上看到苹果标志时松开按钮。...对于iPhone 8及更新机型:快速并松开音量增大按钮,然后快速并松开音量减小按钮。最后,按住侧边按钮直到屏幕上出现苹果标志。...强制重启iPhone.jpg 方法三、使用主页 + 音量增大 + 电源键 如果硬强制重启不起作用,那么还有另一种按钮组合可以帮助修复iPhone白屏死机问题: 同时按住主页按钮、音量增大按钮和电源...请一直按住直到屏幕关闭。 继续按住这些按钮,直到出现苹果标志。 当苹果标志出现时,您可以松开按钮,让iPhone像往常一样启动。 显然,这种方法仅适用带主页按钮的 iPhone 机型。

5K00

js恶补3

1 2 3 ondblclick 鼠标双击某个对象 1 4 4 onerror 当加载文档或图像时发生某个错误 1 3 4 onfocus 元素获得焦点 1 2 3 onkeydown 某个键盘的键被...1 4 3 onkeypress 某个键盘的键被按住 1 4 3 onkeyup 某个键盘的键被松开 1 4 3 onload 某个页面或图像被完成加载 1 2 3 onmousedown 某个鼠标按键被...全局对象不是任何对象的属性,所以它没有名称。 全局对象只是一个对象,不是类。既没有构造函数,也无法实例化一个新的全局对象。...1 4 4 java 代表 java.* 包层级的一个 JavaPackage。 NaN 指示某个值是不是数字值。 1 4 4 Packages 根 JavaPackage 对象。...返回找到的值,并确定其位置。 1 4 4 test 检索字符串中指定的值。返回 true 或 false。

65720

C51 单片机开发按键软件消除的抖动

比如,按键的功能是让 LED 灯亮起,那么可能我们并没有按键,只是轻轻地晃动一开发板 LED 就亮了……!这不是灵异事件,而是按键抖动!...这种方法类似在 Java 中实现单例模式时有一个双重检查的方式。 比如,在查询法中检测按钮是否被,就是通过判断指定的 P 口是否有低电平被输入,如果有就将 LED 灯点亮。...时间短的意思是,我们认为的按键并松开按键,可能需要有个几百毫秒的时间,那么这个低电平会持续几百毫秒;产生抖动时,这个低电平可能只持续几毫秒、几十毫秒,几毫秒、几十毫秒我们人是无法完成按键并松开的...所以,我们在查询法中检测按钮时,并不是检测一次,而是检测两次,两次之间有一个小小的时间间隔,如果这个时间间隔之间都有低电平,则认为是按钮真的被下了,不是产生了抖动。...当我短暂的按键时(小于 2 秒)并不会让 LED 灯亮起,这样可以模拟抖动。想要让 LED 灯亮起,需要按住按键在 2 秒或以上才可以。

22610

win8快捷键大全分享,非常全

打开程序,或快速打开程序的另一个实例 按住 Ctrl+Shift 并单击某个任务栏按钮 以管理员身份打开程序 按住 Shift 并右键单击某个任务栏按钮 显示该程序的窗口菜单 按住 Shift 并右键单击某个分组的任务栏按钮...M- 按钮 Ctrl+P M+ 按钮 Ctrl+M MS 按钮 Ctrl+R MR 按钮 Ctrl+L MC 按钮 % % 按钮 F9 +/– 按钮 / /...按钮 * * 按钮 + + 按钮 - 按钮 R 1/× 按钮 @ 平方根按钮 0-9 数字按钮 (0-9) = = 按钮 ....tanh 按钮 ( 在科学型模式 ( 按钮 ) 在科学型模式 ) 按钮 N 在科学型模式 ln 按钮 ; 在科学型模式 Int 按钮 S 在科学型模式 sin 按钮 O 在科学型模式...( 按钮 ) 在程序员模式 ) 按钮 | 在程序员模式 Or 按钮 ^ 在程序员模式 Xor 按钮 ~ 在程序员模式 Not 按钮 & 在程序员模式 And 按钮 A-F 在程序员模式

3.5K40

最全的windows操作系统快捷键

在win9x中打开关闭程序对话框 DELETE         删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE      删除被选择的选择项目,如果是文件,将被直接删除不是放入回收站...NUM LOCK+负号(-) 如果当前选择折叠了,要展开或者选择第一个子文件夹右箭头展开当前选择的所有文件夹 NUM LOCK+* 展开所选的文件夹 NUM LOCK+加号(+) 在左右窗格间切换...取消当前任务 ESC 如果当前控件是个按钮,要单击该按钮或者如果当前控件是个复选框,要选择或清除该复选框或者如果当前控件是个选项按钮,要单击该选项空格键 单击相应的命令 ALT+带下划线的字母 单击所选按钮...目的快捷键 插入光盘时不用“自动播放” 功能按住 SHIFT插入 CD-ROM 复制文件按住 CTRL拖动文件 创建快捷方式按住 CTRL+SHIFT拖动文件 立即删除某项目不将其放入 SHIFT+DELETE...键五次     切换切换键开关 NUM LOCK五秒 本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java

2K20

win10快捷键大全 win10常用快捷键

打开程序,或快速打开程序的另一个实例 按住 Ctrl+Shift 并单击某个任务栏按钮 以管理员身份打开程序 按住 Shift 并右键单击某个任务栏按钮 显示该程序的窗口菜单 按住 Shift 并右键单击某个分组的任务栏按钮...M- 按钮 Ctrl+P M+ 按钮 Ctrl+M MS 按钮 Ctrl+R MR 按钮 Ctrl+L MC 按钮 % % 按钮 F9 +/– 按钮 / /...按钮 * * 按钮 + + 按钮 - 按钮 R 1/× 按钮 @ 平方根按钮 0-9 数字按钮 (0-9) = = 按钮 ....tanh 按钮 ( 在科学型模式 ( 按钮 ) 在科学型模式 ) 按钮 N 在科学型模式 ln 按钮 ; 在科学型模式 Int 按钮 S 在科学型模式 sin 按钮 O 在科学型模式...( 按钮 ) 在程序员模式 ) 按钮 | 在程序员模式 Or 按钮 ^ 在程序员模式 Xor 按钮 ~ 在程序员模式 Not 按钮 & 在程序员模式 And 按钮 A-F 在程序员模式

4.3K70

【愚公系列】2023年11月 WPF控件专题 RepeatButton控件详解

以下是RepeatButton控件的常用属性和事件:常用属性:Delay:表示在按按钮开始响应之间等待的时间间隔。Interval:表示按钮重复响应的间隔。IsPressed:表示按钮状态。...常用事件:Click:表示按钮单击事件。Pressed:表示按钮事件。Released:表示按钮释放事件。...在点击按钮时,会触发Click事件。我们还可以在Pressed和Released事件处理程序中处理按钮和释放事件。...1.属性介绍RepeatButton控件是WPF中的一个按钮,它可以在按钮后自动重复执行某个操作,直到鼠标按钮被释放。...以下是RepeatButton控件的常用属性:Delay:按钮后重复执行操作之前的延迟时间。Interval:重复执行操作的时间间隔。IsPressed:指示按钮当前是否被

25212
领券