So GPIO from xxx works on Pi 1, Pi 2, Pi 3: expand correctly for real types: see website.
GPIO is the low-level control and Pi4J nicely works with GPIO.
Bluej is supposed to work with Pi4J but on Pi 2 (above) I currently get unrecognised hardware errors.