theoisadoor:
I have a fair knowledge on Java
Then you should be familiar with the concept of a FUNCTION. That's what the entities in your code such as rainbow(),fill_rainbow(), and bpm() are, not 'voids'. The 'void' specifier in their definition simply means that they don't return a value.