Ubuntu and unix like systems are case sensitive. So it's filtering for "*.JPG" and maybe you have files with uppercase or lowercase extension. So the file won't match in the case of files with lowercase extension.
In windows, there is no problem, because it isn't case sensitive, I mean, one.jpg it's the same that one.JPG.
So to fix it add the extension in lowercase in the constructor of the ExtensionFilter.
FileChooser.ExtensionFilter extFilterJPG = new FileChooser.ExtensionFilter("JPG files (*.jpg)", "*.JPG", "*.jpg");
Hope it helps