Raspberry Pi3b+上嵌入的java JavaFX:在触摸屏上多次按下后,错误的按钮被激活
我在一个树莓项目上工作。本项目的目的是使用树莓控制工业机器。为此,用户使用触摸屏
我的问题
我有一个带有几个按钮的屏幕(大约20个)。当我按下几个按钮时,按下了错误的按钮
我认为一个例子会更清楚:
^{tb1}$
Let's imagine that each cell are a button.
如果我按以下顺序:A,B,B,C,A,B,A。 激活的按钮有:A、B、B、B、B、B、A
我需要在每次触摸之间等待大约5秒钟,以避免此问题
我的研究
我在代码中添加了以下内容:
stage.addEventFilter(TouchEvent.ANY, touchEvent -> {
LOGGER.info("TOUCH : X = " + touchEvent.getTouchPoint().getX() + ", Y = " + touchEvent.getTouchPoint().getY());
});
当我触摸屏幕时,会显示正确的坐标
事实上,在不应发生以下情况时,会引发此事件:
//b is a Button
b.setOnAction(actionEvent -> {
LOGGER.debug(b.getText() + " pressed.");
});
The OnMouseClick event has the same problem.
我尝试过更换触摸屏,但问题不再出现
第二个触摸屏连接在DSI端口上,而导致问题的触摸屏连接在HDMI(+用于触摸的usb链接)上
它们的分辨率也有所不同,第一个(有问题)为1024x600,第二个(没有问题)为800x480
我承认我不知道如何纠正这个问题
我将Java11与JavaFX11一起使用
编辑:重试后:
stage.addEventFilter(TouchEvent.ANY, touchEvent -> {
LOGGER.info("TOUCH : X = " + touchEvent.getTouchPoint().getX() + ", Y = " + touchEvent.getTouchPoint().getY());
});
我有一个结果:
2021-02-22 09:40:47 INFO App:71 - TOUCH : X = 627.0, Y = 318.0
2021-02-22 09:40:47 INFO App:71 - TOUCH : X = 627.0, Y = 318.0
2021-02-22 09:40:47 INFO App:71 - TOUCH : X = 627.0, Y = 318.0
--
2021-02-22 09:40:47 INFO App:71 - TOUCH : X = 705.0, Y = 300.0
2021-02-22 09:40:47 INFO App:71 - TOUCH : X = 627.0, Y = 318.0
2021-02-22 09:40:47 INFO App:71 - TOUCH : X = 705.0, Y = 300.0
前三个按钮在我按下按钮A时显示(例如),后三个按钮在我按下B时显示。但最后,根据我的程序,按钮A被按下两次,而实际上我按下了A,然后按下了B
共 (0) 个答案