Ejemplo n.º 1
0
  @Override
  protected void onInitialize() {
    super.onInitialize();

    this.label = newLabel("label", labelModel);
    this.help = newHelpLabel("help", helpModel);
    this.feedback = newFeedbackMessageContainer("error");
    addToBorder(this.label, this.help, this.feedback);

    final List<FormComponent<?>> formComponents = findFormComponents();
    final int size = formComponents.size();

    if (size > 0) {
      addOutputMarkupId(formComponents);

      final FormComponent<?> formComponent = formComponents.get(size - 1);
      label.add(new AttributeModifier("for", formComponent.getMarkupId()));

      if (useFormComponentLabel) {
        if (formComponent.getLabel() != null
            && !Strings.isEmpty(formComponent.getLabel().getObject())) {
          label.setDefaultModel(formComponent.getLabel());
        } else {
          label.setDefaultModel(
              new LoadableDetachableModel<String>() {
                @Override
                protected String load() {
                  String text = formComponent.getDefaultLabel("wicket:unknown");
                  if (!"wicket:unknown".equals(text) && !Strings.isEmpty(text)) {
                    return text;
                  } else {
                    return labelModel.getObject();
                  }
                }
              });
        }
      }
    }
  }