panel3D.addMouseMotionListener(new MouseMotionAdapter() {
final int[] pos = new int[]{panel3D.getLocationOnScreen().x + panel3D.getWidth() / 2, panel3D.getLocationOnScreen().y + panel3D.getHeight() / 2};
@Override
public void mouseMoved(MouseEvent e) {
panel3D.rot[0] += e.getX() - pos[0];
panel3D.rot[1] += e.getY() - pos[1];
pos[0] = e.getX();
pos[1] = e.getY();
panel3D.rot[1] %= 90;
try {
Point point = panel3D.getLocationOnScreen();
new Robot().mouseMove(point.x + panel3D.getWidth() / 2, point.y + panel3D.getHeight() / 2);
} catch (AWTException ex) {
throw new RuntimeException(ex);
}
}
});
panel3D.addMouseMotionListener(new MouseMotionAdapter() {
final int[] pos = new int[]{panel3D.getLocationOnScreen().x + panel3D.getWidth() / 2, panel3D.getLocationOnScreen().y + panel3D.getHeight() / 2};
@Override
public void mouseMoved(MouseEvent e) {
panel3D.rot[0] += e.getX() - pos[0];
panel3D.rot[1] += e.getY() - pos[1];
pos[0] = e.getX();
pos[1] = e.getY();
panel3D.rot[1] %= 90;
try {
Point point = panel3D.getLocationOnScreen();
new Robot().mouseMove(point.x + panel3D.getWidth() / 2, point.y + panel3D.getHeight() / 2);
} catch (AWTException ex) {
throw new RuntimeException(ex);
}
}
});