ObjectInputStream нежно все таки оздавать один раз.
Он блокирует работу программы, до тех пор пока в потоке не появятся данные. Следовательно, либо нужно чтобы данные в потоке были (например, ответив чем-нибудь на создание мыши). Либо реализовать паттерн "синглтон" для ObjectInputStream.