"active object is not a selected mesh" error Trying to join different meshes together. 

In object mode, if I select a couple of objects and try to join them I get the error active object is not a selected mesh. 

If I select the meshes, it puts me into Edit Mode and the join command is not visible. 

If I select meshes in edit mode then change to object mode I get the error no data to join.  

It's super confusing.   What am I doing wrong?

What I am actually trying to do is to simplify a model, by joining parts with similar shaders together, for import into three.js . I want less data in the json file and want to make it simpler to animate in three.js, with less objects. Is there a better way to go about this?
In order for selected mesh to combine make sure one of these objects is text highlighted in the outliner, it's a means for Blender to decide which part inherits the other parts. If none of the parts are text highlighted you will get that error message and they won't combine.