Java gui programming/design is a mess..