JavaFX如何制作鼠标多击事件?

JavaFX制作鼠标双击或者多击事件需要用到getClickCount()方法,这个方法需要添加addEventHandler()方法,addEventHandler()是事件方法。

 1 scene.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
 2
 3             @Override
 4             public void handle(MouseEvent event) {
 5                 int times=event.getClickCount();
 6                 if(times==2) {
 7                     System.out.println("2次");
 8                 }
 9             }
10 });

在这段代码中,scene知识为了测试用的,基本所有控件都有此方法,比如按钮等等。

我们要注意的是后面的2个参数,要填入的是你要监听的东西,不如鼠标事件就是MouseEvent,后面是具体事件MOUSE_CLICKED。

第二个参数是一个对象,里面可以实现你的方法了!

 1 package text1;
 2
 3 import javafx.application.Application;
 4 import javafx.event.EventHandler;
 5 import javafx.scene.Group;
 6 import javafx.scene.Scene;
 7 import javafx.scene.input.MouseEvent;
 8 import javafx.stage.Stage;
 9
10 public class Main extends Application {
11
12     @Override
13     public void start(Stage stage) throws Exception {
14         Group root=new Group();
15         Scene scene=new Scene(root);
16         stage.setWidth(500);
17         scene.addEventHandler(MouseEvent.MOUSE_CLICKED, new EventHandler<MouseEvent>() {
18
19             @Override
20             public void handle(MouseEvent event) {
21                 int times=event.getClickCount();
22                 if(times==2) {
23                     System.out.println("2次");
24                 }
25             }
26         });
27         stage.setScene(scene);
28         stage.show();
29     }
30
31     public static void main(String[] args) {
32         launch(args);
33     }
34
35 }

原文地址:https://www.cnblogs.com/modulecode/p/12079392.html

时间: 2024-08-04 14:28:57

JavaFX如何制作鼠标多击事件?的相关文章

android基础之如何实现触屏监听和鼠标点击事件

直接上代码: android基础之如何实现触屏监听和鼠标点击事件

jQuery模拟鼠标点击事件失效的问题

最近使用jQuery操作浏览器获取数据,需要对分页的信息进行处理,发现直接使用$('div#pager a.next').click();的这种写法无法触发点击事件. 使用trigger('click')的写法也是无济于事. 在网上一顿扒拉后,发现使用$('div#pager a.next')[0].click();就OK了. $('div#pager a.next')[0]这种写法其实就相当于把jQuery对象转换为Dom对象了. 模拟点击不生效的原因 如果使用jQuery的写法:$('a#t

jQuery用on()代理的方法实现鼠标点击事件,当前的背景色变化其他的背景色不变

<!DOCTYPE html> <html> <head> <title></title> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <style type="text/css"> .wrapper li{ list-style-type: none; wi

鼠标点击事件

1 鼠标点击事件 2 onclick 元素上发生鼠标点击时触发. 3 ondblclick 元素上发生鼠标双击时触发. 4 ondrag 元素被拖动时运行的脚本. 5 ondragend 在拖动操作末端运行的脚本. 6 ondragenter 当元素元素已经被拖动到有效拖放区域时运行的脚本. 7 ondragleave 当元素离开有效拖放目标时运行的脚本. 8 ondragover 当元素在有效拖放目标上正在被拖动时运行的脚本. 9 ondragstart 在拖动操作开端运行的脚本. 10 on

Listbox与dataGridView的获取鼠标点击事件的区别!!!

1 int index = lisxian.IndexFromPoint(e.X, e.Y);//获取鼠标点击 2 lisxian.SelectedIndex = index; Listbox获取鼠标的代码!!!! 1 int index = e.RowIndex; 2 DataGridViewRow currenRow = this.dgvxian3.Rows[index]; dataGridView获取鼠标代码!!!! private void lisxian_SelectedIndexCh

C# 在获得鼠标点击事件时,如何判断Control键,Shift键被按下

在C#的窗体程序中,获得鼠标点击的事件时,想要得知当前是否有Control键,Shift键等是否被按下. 1 private void xxx_MouseClick(object sender, MouseEventArgs e) 2 { 3 if ((Control.ModifierKeys & Keys.Control) == Keys.Control)// CTRL is pressed 4 { 5 6 } 7 8 if ((Control.ModifierKeys & Keys.S

WPF中C#代码触发鼠标点击事件

1.如下代码; 1 <Button x:Name="btnTest" Click="btnTest_Click"> 2 <Button.Triggers> 3 <EventTrigger RoutedEvent="Button.Click"> 4 <BeginStoryboard> 5 <!--要执行的动画代码--> 6 </BeginStoryboard> 7 </E

QT中模拟鼠标点击事件

传入座标,模拟鼠标点击QWebView中网页上的某一点 qDebug()<<"mouse clicked"; QPoint pos(403,34); QMouseEvent event0(QEvent::MouseButtonPress, pos, Qt::LeftButton, Qt::LeftButton, Qt::NoModifier); QApplication::sendEvent(view->page(), &event0); QMouseEven

QT--控件屏蔽鼠标点击事件

源博客:https://blog.csdn.net/qiufenpeng/article/details/81745266 最近学习QT写一个小界面想屏蔽鼠标点击,就百度了一下.原来只要一个函数就搞定了..QT果然强大. ui->radioButton->setAttribute(Qt::WA_TransparentForMouseEvents, true); 如果想通过点击一个按钮自动加锁或者解锁鼠标事件 在头文件中定义一个bool变量: bool flag = true; 在widget.