`
孙瑞鸿
  • 浏览: 17161 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

CoolButton

阅读更多

CoolButton(1)
       这段时间一直在美化界面,总觉得按钮丑了一点,输入框也难看了一点,
终于他们都被我改造了!再也不用担心我们的界面不好看了!!!
小伙伴们看进来呀!
        改造这个按钮经过一个十分艰辛的过程,但终于还是被我发现了!在探索的过程
中我先学会了一种比较简单按钮(一会会在下面讲解),但是我发现他还是有一些问
题,在背景色为接近白色的界面上还能看出效果,但是其他颜色不是很明显而且还会
出现边缘的白色,这就是为什么在接近白色界面上效果会好一点的原因。在这难过的
时刻,我终于找到了解决办法,也就是稍复杂一点的异形按钮,下面一一介绍。
一 简单漂亮的按钮
        要做一个漂亮的按钮,无论怎样本质还是一个按钮(我们要继承JButton),
接下来呢我觉得就是对他进行包装。
         操作之前要首先了解Graphics2D这个类,此 Graphics2D 类扩展
Graphics 类,以提供对几何形状、坐标转换、颜色管理和文本布局更为复杂的控
制。它是用于在 Java(tm)平台上呈现二维形状、文本和图像的基础类。要改变我们
原有的按钮形状就要用到他。
       由于我们的按钮是各种形状,因此我们需要
      
public void paintComponent(Graphics g)

方法,实现绘制此容器中的每个组件;上面我们提过Graphics2D类扩展 Graphics
类,因此我们可以通过类的多态性向下转型
    
 Graphics2D g2=(Graphics2D) g;

以取得画布。
我们要实现的按钮的大体过程如图





1.首先,你看到的是最普通的按钮
2.紧接着你看到一个外形为圆长方形的按钮,这个怎么实现呢?看看吧!其实实现这个
仅需要这样几句就好!so easy!
 
//RoundRectangle2D 类定义一个矩形,该矩形具有由位置 (x,y)、
  	//维度 (w x h) 以及圆角弧的宽度和高度定义的圆角
  	//此类是所有保存 2D 圆角矩形的对象的抽象超类。实际的坐标存储表示形式由子类决定
	RoundRectangle2D rect=new RoundRectangle2D.Float(0,0,w,h-1,20,20);
	g2.clip(rect);//利用它即可切除圆角
	g2.fillRect(0, 0, (int)w, (int)h); //将圆长方形画出来

3.一定很想知道图中按钮的的渐变色是怎么实现的吧?在这里呢再给大家介绍一个方法
GradientPaint 类提供了使用线性颜色渐变模式填充 Shape 的方法
GradientPaint redtowhite=	
		new GradientPaint(0,0,Color.red,w,0,Color.white);
	/**解释一下,(0,0)和(w,0)是两个点的坐标,可见除了两个点外,还有
	 *两种颜色,以上的组合可实现由点(0,0)到(w,0)由Color.red到Color.white
	 */的颜色渐变。然后用redtowhite填充圆长方形即可
	g2.setPaint(redtowhite);
	//完成了吗?一定有问题,颜色完全看不到!不是方法不对!你想到是什么原因了吗?
	//好吧,我来揭秘,颜色是有的!!!但是被按钮挡住了!现在让我们把按钮设为透明!试试看
	g2.setComposite(
		AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.1f));

额。。。这个方法比较复杂!一两句解释不清楚有兴趣的研究一下吧!
4.看起来出不多了是吧?其实还是觉得少了点什么!例如图2剪切完的按钮,圆角处没有边
填充了颜色后也许看不出来,但毕竟还是觉得不够完美,还是修饰一下比较好!那我们就描一下边吧!
又遇到问题了,怎么描?看我的!
//绘制外边框
	g2.setPaint(redtowhite);//设置画笔颜色
	g2.drawRoundRect(0, 0, (int)w, (int)h-1, 20, 20);

很明显这就是在画一个圆长方形,举一反三我们还可以绘制内边框,只要你喜欢!
5.最后如果使用了一下的代码即可实现绘制图标
//绘制图标(没有这一句,将看不到按钮上“登录”两字)
	super.paintComponent(g);

不如,下次再介绍复杂一点的按钮吧!赶快来消化coolbutton!!!
  • 描述: 图1
  • 大小: 1.8 KB
  • 描述: 图2
  • 大小: 1.6 KB
  • 描述: 图3
  • 大小: 1.4 KB
分享到:
评论

相关推荐

    pb中的coolbutton按扭

    pb中的coolbutton按扭,使你的按钮变的好看。

    XP风格按钮控件和一个coolButton[ccXPButton.rar]-精品源代码

    XP风格按钮控件和一个coolButton[ccXPButton.rar]-精品源代码

    vb 第三方控件coolbutton下载

    vb第三方控件!以前发布的那个忘记密码了!补发一个!

    XP风格按钮控件和一个coolButton

    XP风格按钮控件和一个coolButton 你看到的文件来自:E动天下(http:/www.2e3.org)

    coolbutton.rar

    coolbutton.rar

    coolbutton,VC按钮美化大全

    有名的coolbutoon源码,可以为VC提供可种按钮方式

    CoolButton.rar_按钮控件_Visual_Basic_

    CoolButton是用来美化按钮图标的,这样是非常难,非常难,非常困难的

    VB编程资源大全(控件 其它1)

    ezavimaker.ZIP 一个可以将BMP文件生成AVI文件的控件,包含范例(173KB) 52,s027_coolbutton1.ZIP 由4个Line控件和1个Label显示的类似命令按钮的(3KB) 53,CoolButton.ZIP 你可以把它作成一个控件(34...

    VB编程资源大全(控件 其它2)

    ezavimaker.ZIP 一个可以将BMP文件生成AVI文件的控件,包含范例(173KB) 52,s027_coolbutton1.ZIP 由4个Line控件和1个Label显示的类似命令按钮的(3KB) 53,CoolButton.ZIP 你可以把它作成一个控件(34...

    VB编程资源大全(控件 其它3)

    ezavimaker.ZIP 一个可以将BMP文件生成AVI文件的控件,包含范例(173KB) 52,s027_coolbutton1.ZIP 由4个Line控件和1个Label显示的类似命令按钮的(3KB) 53,CoolButton.ZIP 你可以把它作成一个控件(34...

    WPF_COOLBUTTON

    一个很炫的按钮示例,应用WPF技术实现。

    免费的VB 第三方控件大全 rar

    VB 第三方控件大全,是本人辛辛苦苦从网上找来的众多VB 编程中可以用到的一些多用控件,包括按钮特效,界面特效及其一些其他控件,欢迎下载,谢谢!

    一个不错的中国象棋游戏

    CoolButton.cpp CoolButton.h hlinkctl.cpp hlinkctl.h MapFace.cpp MapFace.h MoveList.cpp MoveList.h OpenDlg.cpp OpenDlg.h OptionDlg.cpp OptionDlg.h ReadMe.txt ...

    Coolbutton酷纽-开源

    酷纽是一个web2.0按钮设计框架,通过本框架,可以方便的设计出各种风格的按钮.可以极大的提高开发人员的效率.

    Visual C++ 编程资源大全(控件 其它)

    利用它,你可以抓下屏幕上的任何东西(293KB)<END><br>42,URSample.ZIP 一个系统权限控制控件UserRight(113KB)<END><br>43,coolbutton.ZIP 具有IE风格的按钮控件,可设置边框式样,背景 的透明特性,字体的...

    coolbuttonasl

    coolbutton.asl 画笔专用ps

    VB编程资源大全(控件 窗体1)

    (72KB) 44,j004_lvicodra.zip 可拖拉图标的ListView控件演示 45,j003_graphtreeocx.zip 图形树控件(129KB) 46,j002_coolbutton.zip 注释 椭圆、三角、星...形按钮控件,斑竹苦苦搜寻了n天n个网站...

    VB编程资源大全(控件 窗体2)

    (72KB) 44,j004_lvicodra.zip 可拖拉图标的ListView控件演示 45,j003_graphtreeocx.zip 图形树控件(129KB) 46,j002_coolbutton.zip 注释 椭圆、三角、星...形按钮控件,斑竹苦苦搜寻了n天n个网站...

    11款多风格VB仿Windows风格按钮控件源码.rar

    多风格按钮控件示例,一共有11款多风格VB仿Windows风格按钮控件源码,立体按钮风格、水晶按钮风格、圆角按钮风格等,示例中的按钮每款都有不同的按钮悬停风格,用在你的VB窗体中,一定会让你的窗口更加漂亮的。

    nextmark:下一代降价

    下一代降价促销 工作正在进行中 样本: ...@from 'https://some-other-server/cool-btn.jsx' import { CoolButton } @from './data.yml' import { user } # Hellow {{ user.name }} ...</CoolButton>

Global site tag (gtag.js) - Google Analytics