下面列出了怎么用javax.swing.plaf.basic.BasicRadioButtonUI的API类实例代码及写法,或者点击链接到github查看源代码。
@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());
}
/**
* 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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}