Java 类javax.swing.plaf.basic.BasicRadioButtonUI 实例源码

项目:intellij-ce-playground    文件:JBCheckBox.java   
/**
 * Sets given icon to display between checkbox icon and text.
 *
 * @return true in case of success and false otherwise
 */
public boolean setTextIcon(@NotNull Icon icon) {
  if (UIUtil.isUnderDarcula() || UIUtil.isUnderIntelliJLaF()) {
    return false;
  }
  ButtonUI ui = getUI();
  if (ui instanceof BasicRadioButtonUI) {
    Icon defaultIcon = ((BasicRadioButtonUI) ui).getDefaultIcon();
    if (defaultIcon != null) {
      MergedIcon mergedIcon = new MergedIcon(defaultIcon, 10, icon);
      setIcon(mergedIcon);
      return true;
    }
  }
  return false;
}
项目:jediterm    文件:JBCheckBox.java   
/**
 * Sets given icon to display between checkbox icon and text.
 *
 * @return true in case of success and false otherwise
 */
public boolean setTextIcon(@NotNull Icon icon) {
  if (UIUtil.isUnderDarcula() || UIUtil.isUnderIntelliJLaF()) {
    return false;
  }
  ButtonUI ui = getUI();
  if (ui instanceof BasicRadioButtonUI) {
    Icon defaultIcon = ((BasicRadioButtonUI) ui).getDefaultIcon();
    if (defaultIcon != null) {
      MergedIcon mergedIcon = new MergedIcon(defaultIcon, 10, icon);
      setIcon(mergedIcon);
      return true;
    }
  }
  return false;
}
项目:tools-idea    文件:JBCheckBox.java   
/**
 * Sets given icon to display between checkbox icon and text.
 *
 * @return true in case of success and false otherwise
 */
public boolean setTextIcon(@NotNull Icon icon) {
  ButtonUI ui = getUI();
  if (ui instanceof BasicRadioButtonUI) {
    Icon defaultIcon = ((BasicRadioButtonUI) ui).getDefaultIcon();
    if (defaultIcon != null) {
      MergedIcon mergedIcon = new MergedIcon(defaultIcon, 10, icon);
      setIcon(mergedIcon);
      return true;
    }
  }
  return false;
}
项目:consulo    文件:CheckBoxList.java   
@Nonnull
private static Dimension getCheckBoxDimension(@Nonnull JCheckBox checkBox) {
  Icon icon = null;
  BasicRadioButtonUI ui = ObjectUtils.tryCast(checkBox.getUI(), BasicRadioButtonUI.class);
  if (ui != null) {
    icon = ui.getDefaultIcon();
  }
  if (icon == null) {
    // com.intellij.ide.ui.laf.darcula.ui.DarculaCheckBoxUI.getDefaultIcon()
    icon = JBUI.scale(EmptyIcon.create(20));
  }
  Insets margin = checkBox.getMargin();
  return new Dimension(margin.left + icon.getIconWidth(), margin.top + icon.getIconHeight());
}
项目:consulo    文件:JBCheckBox.java   
/**
 * Sets given icon to display between checkbox icon and text.
 *
 * @return true in case of success and false otherwise
 */
public boolean setTextIcon(@Nonnull Icon icon) {
  ButtonUI ui = getUI();
  if (ui instanceof BasicRadioButtonUI) {
    Icon defaultIcon = ((BasicRadioButtonUI) ui).getDefaultIcon();
    if (defaultIcon != null) {
      MergedIcon mergedIcon = new MergedIcon(defaultIcon, 10, icon);
      setIcon(mergedIcon);
      return true;
    }
  }
  return false;
}
项目:OpenJSharp    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:jdk8u-jdk    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:openjdk-jdk10    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:openjdk9    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:jdk8u_jdk    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:lookaside_java-1.8.0-openjdk    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:intellij-ce-playground    文件:UIUtil.java   
public static int getCheckBoxTextHorizontalOffset(@NotNull JCheckBox cb) {
  // logic copied from javax.swing.plaf.basic.BasicRadioButtonUI.paint
  ButtonUI ui = cb.getUI();
  String text = cb.getText();

  Icon buttonIcon = cb.getIcon();
  if (buttonIcon == null && ui != null) {
    if (ui instanceof BasicRadioButtonUI) {
      buttonIcon = ((BasicRadioButtonUI)ui).getDefaultIcon();
    }
    else if (isUnderAquaLookAndFeel()) {
      // inheritors of AquaButtonToggleUI
      Ref<Method> cached = ourDefaultIconMethodsCache.get(ui.getClass());
      if (cached == null) {
        cached = Ref.create(ReflectionUtil.findMethod(Arrays.asList(ui.getClass().getMethods()), "getDefaultIcon", JComponent.class));
        ourDefaultIconMethodsCache.put(ui.getClass(), cached);
        if (!cached.isNull()) {
          cached.get().setAccessible(true);
        }
      }
      Method method = cached.get();
      if (method != null) {
        try {
          buttonIcon = (Icon)method.invoke(ui, cb);
        }
        catch (Exception e) {
          cached.set(null);
        }
      }
    }
  }

  Dimension size = new Dimension();
  Rectangle viewRect = new Rectangle();
  Rectangle iconRect = new Rectangle();
  Rectangle textRect = new Rectangle();

  Insets i = cb.getInsets();

  size = cb.getSize(size);
  viewRect.x = i.left;
  viewRect.y = i.top;
  viewRect.width = size.width - (i.right + viewRect.x);
  viewRect.height = size.height - (i.bottom + viewRect.y);
  iconRect.x = iconRect.y = iconRect.width = iconRect.height = 0;
  textRect.x = textRect.y = textRect.width = textRect.height = 0;

  SwingUtilities.layoutCompoundLabel(
    cb, cb.getFontMetrics(cb.getFont()), text, buttonIcon,
    cb.getVerticalAlignment(), cb.getHorizontalAlignment(),
    cb.getVerticalTextPosition(), cb.getHorizontalTextPosition(),
    viewRect, iconRect, textRect,
    text == null ? 0 : cb.getIconTextGap());

  return textRect.x;
}
项目:infobip-open-jdk-8    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:jdk8u-dev-jdk    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:jdk7-jdk    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
    String clippedText =
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:openjdk-source-code-learn    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
    String clippedText =
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:OLD-OpenJDK8    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:openjdk-jdk7u-jdk    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}
项目:openjdk-icedtea7    文件:ConnectDialog.java   
private static Rectangle getTextRectangle(AbstractButton button) {
    String text = button.getText();
    Icon icon = (button.isEnabled()) ? button.getIcon() : button.getDisabledIcon();

    if (icon == null && button.getUI() instanceof BasicRadioButtonUI) {
        icon = ((BasicRadioButtonUI)button.getUI()).getDefaultIcon();
    }

    if ((icon == null) && (text == null)) {
        return null;
    }

    Rectangle paintIconR = new Rectangle();
    Rectangle paintTextR = new Rectangle();
    Rectangle paintViewR = new Rectangle();
    Insets paintViewInsets = new Insets(0, 0, 0, 0);

    paintViewInsets = button.getInsets(paintViewInsets);
    paintViewR.x = paintViewInsets.left;
    paintViewR.y = paintViewInsets.top;
    paintViewR.width = button.getWidth() - (paintViewInsets.left + paintViewInsets.right);
    paintViewR.height = button.getHeight() - (paintViewInsets.top + paintViewInsets.bottom);

    Graphics g = button.getGraphics();
    if (g == null) {
        return null;
    }
        SwingUtilities.layoutCompoundLabel(button,
                                           g.getFontMetrics(),
                                           text,
                                           icon,
                                           button.getVerticalAlignment(),
                                           button.getHorizontalAlignment(),
                                           button.getVerticalTextPosition(),
                                           button.getHorizontalTextPosition(),
                                           paintViewR,
                                           paintIconR,
                                           paintTextR,
                                           button.getIconTextGap());

    return paintTextR;
}