Your font is never loaded due to your code. Your static initializer states:
arial is therefore
not null. However, you only load the font if arial
is null:
if(arial == null){ /* loading code */ }
Alas, the loading code is never executed. I believe what you want to do is to initialize the arial variable with null:
public static Font arial
= null; Don't forget to construct it before you load it, then.