下面列出了javax.swing.AbstractButton#isContentAreaFilled ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* check if use the default button style.
*
* @param b
* @return default style return true, otherwise return false.
*/
private boolean checkIsPaintBg(AbstractButton b)
{
if (!b.isContentAreaFilled())
{
return false;
}
Object isPaintBg = b.getClientProperty(LuckButtonUIBundle.IS_PAINTBG);
if (b.getIcon() != null && isPaintBg == null)
{
return false;
}
return true;
}
/**
* Drasw a button in a toolbar.
*
* @param b
* the button
* @param g
* the graphics instance
*/
public static void drawToolbarButton(Graphics g, AbstractButton b) {
if (!b.isEnabled()) {
return;
}
if (b.getModel().isSelected() && b.isRolloverEnabled() || b.getModel().isPressed() && b.getModel().isArmed()
&& b.isRolloverEnabled()) {
if (b.isContentAreaFilled()) {
drawButton(b, g, createShapeForButton(b));
}
if (b.isBorderPainted()) {
drawButtonBorder(b, g, createBorderShapeForButton(b));
}
} else if (b.getModel().isRollover() && b.isRolloverEnabled()) {
if (b.isBorderPainted()) {
drawButtonBorder(b, g, createBorderShapeForButton(b));
}
}
}
@Override
public void paint(Graphics g, JComponent c) {
AbstractButton b = (AbstractButton) c;
if (RapidLookTools.isToolbarButton(b)) {
RapidLookTools.drawToolbarButton(g, b);
super.paint(g, c);
return;
}
int w = c.getWidth();
int h = c.getHeight();
if (w <= 0 || h <= 0) {
return;
}
if (b.isContentAreaFilled()) {
RapidLookTools.drawButton(b, g, RapidLookTools.createShapeForButton(b));
}
if (b.isBorderPainted()) {
RapidLookTools.drawButtonBorder(b, g, RapidLookTools.createBorderShapeForButton(b));
}
super.paint(g, c);
}
@Override
protected void paintButtonPressed(Graphics g, AbstractButton c) {
if (c.isContentAreaFilled()) {
Graphics2D g2d = (Graphics2D) g;
Dimension size = c.getSize();
Composite oldComposite = g2d.getComposite();
Color oldColor = g2d.getColor();
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f));
g2d.setColor(Color.BLACK);
g2d.fillRect(0, 0, size.width, size.height);
g2d.setComposite(oldComposite);
g2d.setColor(oldColor);
}
}
@Override
protected void paintButtonPressed(Graphics g, AbstractButton b) {
if (b.isContentAreaFilled()) {
if (RapidLookTools.isToolbarButton(b)) {
RapidLookTools.drawToolbarButton(g, b);
} else {
RapidLookTools.drawButton(b, g, RapidLookTools.createShapeForButton(b));
}
}
setTextShiftOffset();
}
protected void paintButtonBackground(Graphics g, AbstractButton b) {
if (b.isContentAreaFilled()) {
if (b instanceof RPButton) {
RPButton link = (RPButton) b;
if (link.getBtnGroup() != null && link.isLeftNode()) {
float width = link.getWidth();
float height = link.getHeight();
int arc = link.getBtnGroup().getArc();
Graphics2D g2 = (Graphics2D) g.create();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
RoundRectangle2D rect = new RoundRectangle2D.Float(0, 0, width, height, link.getBtnGroup().getArc(),
arc);
g2.setColor(b.getBackground());
g2.fill(rect);
Rectangle2D rectFix = new Rectangle((int) width - arc, 0, (int) arc, (int) height);
g2.fill(rectFix);
g2.dispose();
} else {
Dimension size = b.getSize();
g.setColor(b.getBackground());
g.fillRect(0, 0, size.width, size.height);
}
}
}
}
protected void paintButtonPressed(Graphics g, AbstractButton b) {
if (b.isContentAreaFilled()) {
if (b instanceof RPButton) {
RPButton link = (RPButton) b;
if (link.getBtnGroup() != null && link.isLeftNode()) {
float width = link.getWidth();
float height = link.getHeight();
int arc = link.getBtnGroup().getArc();
Graphics2D g2 = (Graphics2D) g.create();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
RoundRectangle2D rect = new RoundRectangle2D.Float(0, 0, width, height, link.getBtnGroup().getArc(),
arc);
g2.setColor(getSelectColor());
g2.fill(rect);
Rectangle2D rectFix = new Rectangle((int) width - arc, 0, (int) arc, (int) height);
g2.fill(rectFix);
g2.dispose();
} else {
Dimension size = b.getSize();
g.setColor(getSelectColor());
g.fillRect(0, 0, size.width, size.height);
}
}
}
}
protected void paintButtonPressed(Graphics g, AbstractButton b) {
if (b.isContentAreaFilled()) {
if (b instanceof RPNavlink) {
RPNavlink link = (RPNavlink) b;
if (link.isLeftNode()) {
float width = link.getWidth();
float height = link.getHeight();
int arc = link.getNavbar().getArc();
Graphics2D g2 = (Graphics2D) g.create();
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_PURE);
RoundRectangle2D rect = new RoundRectangle2D.Float(0, 0, width, height, link.getNavbar().getArc(),
arc);
g2.setColor(getSelectColor());
g2.fill(rect);
Rectangle2D rectFix = new Rectangle((int) width - arc, 0, (int) arc, (int) height);
g2.fill(rectFix);
g2.dispose();
} else {
Dimension size = b.getSize();
g.setColor(getSelectColor());
g.fillRect(0, 0, size.width, size.height);
}
}
}
}
@Override
public void paint(Graphics g, JComponent c) {
AbstractButton b = (AbstractButton) c;
Dimension size = b.getSize();
FontMetrics fm = g.getFontMetrics();
Insets i = c.getInsets();
Rectangle viewRect = new Rectangle(size);
viewRect.x += i.left;
viewRect.y += i.top;
viewRect.width -= i.right + viewRect.x;
viewRect.height -= i.bottom + viewRect.y;
Rectangle iconRect = new Rectangle();
Rectangle textRect = new Rectangle();
Font f = c.getFont();
g.setFont(f);
String text = SwingUtilities.layoutCompoundLabel(c, fm, b.getText(), b.getIcon(), b.getVerticalAlignment(),
b.getHorizontalAlignment(), b.getVerticalTextPosition(), b.getHorizontalTextPosition(), viewRect, iconRect,
textRect, b.getText() == null ? 0 : b.getIconTextGap());
g.setColor(b.getBackground());
if (b.isContentAreaFilled()) {
if (RapidLookTools.isToolbarButton(b)) {
RapidLookTools.drawToolbarButton(g, b);
} else {
RapidLookTools.drawButton(b, g, RapidLookTools.createShapeForButton(b));
}
}
if (b.getIcon() != null) {
paintIcon(g, b, iconRect);
}
if (text != null && !text.equals("")) {
View v = (View) c.getClientProperty(BasicHTML.propertyKey);
if (v != null) {
v.paint(g, textRect);
} else {
paintText(g, b, textRect, text);
}
}
if (b.isFocusPainted() && b.hasFocus()) {
paintFocus(g, b, viewRect, textRect, iconRect);
}
if (!RapidLookTools.isToolbarButton(b)) {
if (b.isBorderPainted()) {
RapidLookTools.drawButtonBorder(b, g, RapidLookTools.createBorderShapeForButton(b));
}
}
}