Multiple vertical touch events at once - OpenJDK 11.0.2

David Česal David at Cesal.cz
Wed Mar 6 09:07:12 UTC 2019


I would like to add, that I'm using this code to bind
EventHandler<InputEvent>:

 

getScene().setOnTouchPressed(this);

getScene().setOnTouchReleased(this);

 

Then this method is called:

 

@Override

public void handle(InputEvent e) {

    handleEvent(e);

}

private void handleEvent(InputEvent e) {.}

 

Touch point are iterated (for logging) this way:

 

if (e instanceof TouchEvent) {

TouchEvent te = ((TouchEvent) e);

INPUT_EVENTS_LOGGER.debug("- touchEvent - setID = " + te.getEventSetId() +
", touchPoint count = " + te.getTouchCount() + ", point = [" +
te.getTouchPoint().getScreenX() + ", " + te.getTouchPoint().getScreenY() +
"]");

for (TouchPoint tp : te.getTouchPoints()) {

INPUT_EVENTS_LOGGER.debug("--> point: [" + tp.getScreenX() + ", " +
tp.getScreenY() + "], state = " + tp.getState().name());

}

}

 

Is it the right way how to bind Touch events listener?

Is there any possibility how to detech touch point in "lower API"?

 

Thanks

David

 

From: David Česal <David at Cesal.cz> 
Sent: Saturday, March 2, 2019 11:57 AM
To: 'openjfx-dev at openjdk.java.net' <openjfx-dev at openjdk.java.net>
Subject: Multiple vertical touch events at once - OpenJDK 11.0.2

 

Hello,

 

several times a day I observe multiple touch events at once, whereas I touch
only with one finger to one place.

 

These touches are always vertical = almost the same X coordination, but the
large area in Y coordination. I'm using resolution 1920x1080.

 

I've tried 2 different touch monitors, but the same behaviour - both iiyama
T2235MSC-B1. I've written C++ touch application to check my touch screen,
but it's perfectly okay, no this behaviour in C++. Only in Java FX. I'm
using OpenJDK 11.0.2 and Windows 10.

 

Every time this happens only when I touch the screen. Is there any cache for
touch events in JavaFX, which is not properly cleaned? Have you observed
this as well? What can I do? This is a showstopper for my whole app in
production.

 

Problem starts at 

[DEBUG] 2019-03-01T12:03:38.740+01:00 [JavaFX Application Thread]
(BaseScene.java:193) - TOUCH_PRESSED target button - ID fastB1, classes
button keyboardBtn fastB1Style

[DEBUG] 2019-03-01T12:03:38.740+01:00 [JavaFX Application Thread]
(BaseScene.java:214) - - touchEvent - setID = 1, touchPoint count = 1, point
= [1163.0, 77.0]

[DEBUG] 2019-03-01T12:03:38.740+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 77.0], state = PRESSED

[DEBUG] 2019-03-01T12:03:38.741+01:00 [JavaFX Application Thread]
(BaseScene.java:193) - TOUCH_PRESSED target button - ID fastB2, classes
button keyboardBtn fastB2Style

[DEBUG] 2019-03-01T12:03:38.741+01:00 [JavaFX Application Thread]
(BaseScene.java:214) - - touchEvent - setID = 2, touchPoint count = 2, point
= [1153.0, 148.0]

[DEBUG] 2019-03-01T12:03:38.741+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 77.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.741+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1153.0, 148.0], state = PRESSED

.

Many other events come one by one till approx 8 stationary events at one:

 

[DEBUG] 2019-03-01T12:03:38.745+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 77.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.745+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1153.0, 148.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.745+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 239.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1160.0, 314.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1159.0, 413.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1160.0, 482.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1154.0, 539.0], state = PRESSED

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:193) - TOUCH_PRESSED target button - ID null, classes button
keyboardBtn

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:214) - - touchEvent - setID = 8, touchPoint count = 8, point
= [1150.0, 975.0]

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 77.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1153.0, 148.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.746+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 239.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.747+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1160.0, 314.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.747+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1159.0, 413.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.747+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1160.0, 482.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.747+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1154.0, 539.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.747+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1150.0, 975.0], state = PRESSED

[DEBUG] 2019-03-01T12:03:38.806+01:00 [JavaFX Application Thread]
(BaseScene.java:193) - TOUCH_RELEASED target button - ID fastB1, classes
button keyboardBtn fastB1Style

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:214) - - touchEvent - setID = 18, touchPoint count = 8,
point = [1163.0, 77.0]

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 77.0], state = RELEASED

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1153.0, 148.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1163.0, 239.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1160.0, 314.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1159.0, 413.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1160.0, 482.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1154.0, 539.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.807+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1150.0, 975.0], state = STATIONARY

.

and then decreasing one by one begins:

 

[DEBUG] 2019-03-01T12:03:38.812+01:00 [JavaFX Application Thread]
(BaseScene.java:197) - TOUCH_RELEASED No target/parent button/label - target
is javafx.scene.control.TextField

[DEBUG] 2019-03-01T12:03:38.812+01:00 [JavaFX Application Thread]
(BaseScene.java:214) - - touchEvent - setID = 23, touchPoint count = 3,
point = [1160.0, 482.0]

[DEBUG] 2019-03-01T12:03:38.813+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1160.0, 482.0], state = RELEASED

[DEBUG] 2019-03-01T12:03:38.813+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1154.0, 539.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.813+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1150.0, 975.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.813+01:00 [JavaFX Application Thread]
(BaseScene.java:193) - TOUCH_RELEASED target button - ID null, classes
button lightGreen2 keyboardBtn

[DEBUG] 2019-03-01T12:03:38.813+01:00 [JavaFX Application Thread]
(BaseScene.java:214) - - touchEvent - setID = 24, touchPoint count = 2,
point = [1154.0, 539.0]

[DEBUG] 2019-03-01T12:03:38.813+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1154.0, 539.0], state = RELEASED

[DEBUG] 2019-03-01T12:03:38.813+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1150.0, 975.0], state = STATIONARY

[DEBUG] 2019-03-01T12:03:38.840+01:00 [JavaFX Application Thread]
(BaseScene.java:193) - TOUCH_RELEASED target button - ID null, classes
button keyboardBtn

[DEBUG] 2019-03-01T12:03:38.841+01:00 [JavaFX Application Thread]
(BaseScene.java:214) - - touchEvent - setID = 30, touchPoint count = 1,
point = [1151.0, 975.0]

[DEBUG] 2019-03-01T12:03:38.841+01:00 [JavaFX Application Thread]
(BaseScene.java:216) - --> point: [1151.0, 975.0], state = RELEASED

 

Thank you!

David



More information about the openjfx-dev mailing list