Re: Java3D bug using JDK11
Posted by goodwilling on Jun 13, 2021; 1:54am
URL: https://forum.jogamp.org/Java3D-bug-using-JDK11-tp4039952p4041157.html
We encountered similar problems when we use AdoptOpenJDK 11 and Java3D 1.7.1:
The left, middle and right mouse buttons do the same thing, which is different with JDK 8.
After some tests, we have arrived to get a solution: use SwingUtilities methods,
isLeftMouseButton, isMiddleMouseButton and isRightMouseButton, to make them work.
This was done by making a minor change to
void doProcess(MouseEvent evt)
in MouseRotate, MouseZoom, and MouseTranslate.
In MouseRotate:
if ((id == MouseEvent.MOUSE_DRAGGED) && !evt.isMetaDown() &&
SwingUtilities.isLeftMouseButton(evt) && ! evt.isAltDown()){
In MouseZoom:
if ((id == MouseEvent.MOUSE_DRAGGED ) && ((evt.isAltDown() && !evt.isMetaDown()
&& SwingUtilities.isLeftMouseButton(evt))
|| SwingUtilities.isMiddleMouseButton(evt)))
In MouseTranslate:
if ((id == MouseEvent.MOUSE_DRAGGED) &&
!evt.isAltDown() && SwingUtilities.isRightMouseButton(evt)) {
The above changes seem to work in Windows 10 and RHEL 8.
Java3D 1.6.and 1.7 has solved many issues which were encountered using Java 1.5.
We are very grateful to the many efforts in developing Java3D.