initComponents();
g.add( portField, ValidatorUtils.merge( StringValidators.REQUIRE_NON_EMPTY_STRING, ValidatorUtils.merge( StringValidators.REQUIRE_VALID_NUMBER, ValidatorUtils.merge( StringValidators.REQUIRE_VALID_INTEGER, StringValidators.REQUIRE_NON_NEGATIVE_NUMBER ) ) ) );
g.add( binaryField, ValidatorUtils.merge( StringValidators.REQUIRE_NON_EMPTY_STRING, ValidatorUtils.merge( StringValidators.FILE_MUST_EXIST, StringValidators.FILE_MUST_BE_FILE ) ) );
g.add( sourcesField, new FileOrArchiveValidator() );
g.add( authorField, StringValidators.REQUIRE_NON_EMPTY_STRING );
g.add( emailField, new AllowNullValidator( new EmailAddressValidator() ) );
UiUtil.prepareComponents( this );
portField.getDocument().addDocumentListener( this );
binaryField.getDocument().addDocumentListener( this );
}