⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 basicbuttonui.java

📁 this gcc-g++-3.3.1.tar.gz is a source file of gcc, you can learn more about gcc through this codes f
💻 JAVA
字号:
package javax.swing.plaf.basic;import javax.swing.*;import javax.swing.plaf.*;import java.awt.*;public class BasicButtonUI extends ButtonUI{    int gap = 3;    //    int y_text_space = 2, x_text_space + 5;    Color textColor, disabledTextColor;    Color pressedBackgroundColor;    Color normalBackgroundColor;    public static ComponentUI createUI(final JComponent c)     {	return new BasicButtonUI();    }        public void installUI(final JComponent c)     {	super.installUI(c);	textColor                = new Color(0,0,0);	disabledTextColor        = new Color(130, 130, 130);	pressedBackgroundColor   = new Color(150,150,150);	pressedBackgroundColor   = new Color(150,150,150);	normalBackgroundColor    = new Color(192,192,192);    }        public Dimension getPreferredSize(JComponent c)     {	AbstractButton b = (AbstractButton)c;	Dimension d = BasicGraphicsUtils.getPreferredSize(b, 							  gap,							  b.getText(),							  b.getIcon(),							  b.getVerticalAlignment(),							  b.getHorizontalAlignment(),							  b.getHorizontalTextPosition(),							  b.getVerticalTextPosition());	//	System.out.println("^^^^^^^^^^^^^^^^^^^^^^   BASIC-PREF="+d + ",T="+b.text);	return d;    }        public void paint(Graphics g, JComponent c)    {      	AbstractButton b = (AbstractButton) c;	Rectangle tr = new Rectangle();	Rectangle ir = new Rectangle();	Rectangle vr = new Rectangle();        Font f = c.getFont();        g.setFont(f);        FontMetrics fm = SwingUtilities.getFontMetrics(f);        Insets i = c.getInsets();        vr.x      = i.left;        vr.y      = i.top;        vr.width  = b.getWidth()  - (i.right  + vr.x);        vr.height = b.getHeight() - (i.bottom + vr.y);		//System.out.println("             VIEW-RECT-BUTTON="+vr+", insets="+i+", FONTM="+fm);		String text = SwingUtilities.layoutCompoundLabel(c,							 fm, 							 b.getText(),							 b.getIcon(),							 b.getVerticalAlignment(), 							 b.getHorizontalAlignment(),							 b.getVerticalTextPosition(), 							 b.getHorizontalTextPosition(),							 vr,							 ir,							 tr,							 gap);        if (b.getModel().isPressed() ||	    b.getModel().isSelected())	    {	      //System.out.println("paint pressed");		paintButtonPressed(g, c);	    }	else	    {	      //System.out.println("paint normal");		paintButtonNormal(g, c);	    }		paintIcon(g, c, ir);	paintText(g, c, tr, b.getText());	paintFocus(g, c, vr, tr, ir);    }    protected void paintFocus(Graphics g, 			      JComponent c,			      Rectangle vr,			      Rectangle tr,			      Rectangle ir)    {    }    protected void paintIcon(Graphics g, 			     JComponent c, 			     Rectangle iconRect)    {	AbstractButton b = (AbstractButton) c;	if (b.getIcon() != null)	    {		int x = iconRect.x;		int y = iconRect.y;		System.out.println("WE HAVE AN ICON: " + b.getIcon()); 		b.getIcon().paintIcon(c, g, x, y);	    }	else	    {		//System.out.println("NO ICON FOR BUTTON:" + b.text);	    }    }    protected void paintButtonPressed(Graphics g,				      JComponent b)    {	Dimension size = b.getSize();		g.setColor(pressedBackgroundColor);	g.fillRect(1,1,size.width-2, size.height-2);                    }        protected void paintButtonNormal(Graphics g,				     JComponent b)    {	Dimension size = b.getSize();		g.setColor(normalBackgroundColor);	g.fillRect(1,1,size.width-2, size.height-2);                    }        protected void paintText(Graphics g,			     JComponent c,			     Rectangle textRect,			     String text)     {		Font f = c.getFont();        g.setFont(f);        FontMetrics fm = SwingUtilities.getFontMetrics(f);	g.setColor(c.isEnabled() ? textColor : disabledTextColor);	BasicGraphicsUtils.drawString(g,				      text, 				      0,				      textRect.x, 				      textRect.y + fm.getAscent()/2);    } }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -