ну, главное, что нужно сделать, это избежать создания экземпляров ваших объектов с параметрами ...
, например: (лучше не делать этого, если эти переменные не являются обязательными для создания объекта)
MyFrame(Object o1, Object o2...)
для целей сериализации вы бы предпочли использовать пустой конструктор, а для установки внешних значений вне кадра (в данном случае), таким образом, вы никогда не перепутаете вещи ... и избегаетемного отладки NullPointerException, позже, если вы будете использовать сериализацию.
, если вы хотите проектировать компоненты, вы должны использовать NetBeans, очень простой, очень удобный для пользователя, позволяющий выравнивать и размещать ваши метки, как для ImagePanel... У меня был один, но я преобразовал его в масштабируемую панель изображений ... с масштабированными слоями поверх него.
Если вам нужно, я опубликую его здесь.
Надеюсь, это поможет,
Адам.