andrea ho scoperto l'errore era questo:

this.setLayout(new GridLayout(1,2));

io invece avevo

this.setLayout(null);

ecco perchè non veniva visualizzato, quindi funzionava anche prima.

che stupido