public void initialize() {
    setLayout(null);
    setBackground(getParent().getBackground());

    this.label = new StyledLabel(text, fontSize, textColor, isLeftAlign);
    label.setPreferredSize(new Dimension(textWidth, (int) getMinimumSize().getHeight()));
    label.setMaximumSize(new Dimension(textWidth, (int) getMinimumSize().getHeight()));
    label.setMinimumSize(new Dimension(textWidth, (int) getMinimumSize().getHeight()));
    label.setBounds(PADDING_LEFT, PADDING_TOP, textWidth, (int) getMinimumSize().getHeight());
    add(label);
    label.repaint();

    this.integerView = new IntegerView(value, fontSize, textColor, CENTER_ALIGN, thickness);
    integerView.setPreferredSize(
        new Dimension(
            (int) getMinimumSize().getWidth() - textWidth, (int) getMinimumSize().getHeight()));
    integerView.setMaximumSize(
        new Dimension(
            (int) getMinimumSize().getWidth() - textWidth, (int) getMinimumSize().getHeight()));
    integerView.setMinimumSize(
        new Dimension(
            (int) getMinimumSize().getWidth() - textWidth, (int) getMinimumSize().getHeight()));
    integerView.setBounds(
        PADDING_LEFT + textWidth,
        PADDING_TOP,
        (int) getMinimumSize().getWidth() - textWidth,
        (int) getMinimumSize().getHeight());
    add(integerView);
    integerView.repaint();
  }
 @Override
 public void modelChanged() {
   integerView.modelChanged();
 }