クソ汚いソース張るわ どういう例外(多分 NullPointerException だろうが)か 書かないわ
おそろしいな

答え:
 ta がまだ null なのに Listener のコンストラクタに渡しているから

初心者によくある誤りで、或いは君もそれをやってるんじゃないかと思うんだが、
「ある変数 (ta) の中身が代わったら、それを参照させた変数の中身 (ta1) も代わる」
と考えてしまう。
しかしプリミティブ型で考えれば・・・

int b = 10, c = 20;
int a = b + c;
b = 20;

このあと a の中身を表示するなどするとどうなるか? もちろん 30 のままだ。
クラス型変数もこれと同じ事。

その他
 ・例外の意味を考えましょう。どこで null が渡ったか、遡って考えてみればわかる。
 ・クラス名は大文字で始めましょう。