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!!!
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0089/7784/c1a62f6a-1279-37db-80cc-8403fd9a7699-thumb.jpg)
- 描述: 图1
- 大小: 1.8 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0089/7786/ab91cf96-6610-39c2-a1ab-b1ca67c1c094-thumb.jpg)
- 描述: 图2
- 大小: 1.6 KB
![点击查看原始大小图片](http://dl2.iteye.com/upload/attachment/0089/7788/d8b15b79-2416-3105-8a5c-cb4bb98edfe0-thumb.jpg)
- 描述: 图3
- 大小: 1.4 KB
分享到:
相关推荐
本主题将详细探讨“vb 第三方控件coolbutton下载”及相关知识点。 首先,让我们了解什么是VB第三方控件。Visual Basic是Microsoft开发的一种面向对象的编程语言,它自带了一套基础的控件库,如Label、Button、...
pb中的coolbutton按扭,使你的按钮变的好看。
在这个案例中,`ccXPButton.ctl`和`CoolButton.ctl`可能分别表示XP风格按钮控件和一个额外的酷炫按钮控件。 4. **.frm文件**:`.frm`文件是VB中的表单文件,它存储了用户界面的设计,包括控件的位置、大小、属性等...
《VC按钮美化:深入探索CoolButton》 在软件开发领域,用户界面的美观性和易用性是提升用户体验的关键因素之一。对于使用Visual C++(VC)进行开发的程序员来说,如何让应用程序的按钮更具吸引力,成为了提升应用...
CoolButton,通常指的是具有特殊设计或额外功能的按钮控件。它可能包含了自定义的图形效果,例如动画、透明度、鼠标悬停效果等,旨在提高用户的交互体验。在编程中,创建一个CoolButton可能涉及到对图形用户界面...
**WPF COOLBUTTON** Windows Presentation Foundation (WPF) 是微软.NET Framework的一部分,它提供了一个强大的图形系统,用于构建丰富的、交互式的用户界面。在这个"COOLBUTTON"示例中,我们将深入探讨如何利用...
"coolbutton.rar"这个文件名可能暗示这是一个包含用户界面元素或者图形资源的压缩包,例如按钮的图片或设计素材。"dingdang"标签可能代表了该文件的特定用途或者它是某个项目、产品的一部分,但具体含义需要根据上...
1. **coolbutton.css**:这是框架的核心CSS文件,包含了预定义的各种按钮样式和布局规则。通过这些样式,开发者可以在网页中轻松应用各种预设的按钮设计,如颜色、大小、形状、边框效果等。此外,CSS还可能包含了对...
"CoolButton.rar"这个压缩包文件显然提供了一种方法来美化VB中的按钮控件,使其看起来更加吸引人。在VB中,尽管基本的按钮控件可以满足大部分功能需求,但它们的外观可能相对单调,不能满足追求个性化和视觉效果的...
在VB中,使用酷按钮控件(Coolbutton.ocx)可以方便地创建具有独特外观和交互效果的按钮。ActiveX控件是微软开发的一种组件对象模型(COM),允许开发者将预先编写好的功能集成到应用程序中。Coolbutton.ocx文件就是这样...
ezavimaker.ZIP 一个可以将BMP文件生成AVI文件的控件,包含范例(173KB) 52,s027_coolbutton1.ZIP 由4个Line控件和1个Label显示的类似命令按钮的(3KB) 53,CoolButton.ZIP 你可以把它作成一个控件(34...
ezavimaker.ZIP 一个可以将BMP文件生成AVI文件的控件,包含范例(173KB) 52,s027_coolbutton1.ZIP 由4个Line控件和1个Label显示的类似命令按钮的(3KB) 53,CoolButton.ZIP 你可以把它作成一个控件(34...
ezavimaker.ZIP 一个可以将BMP文件生成AVI文件的控件,包含范例(173KB) 52,s027_coolbutton1.ZIP 由4个Line控件和1个Label显示的类似命令按钮的(3KB) 53,CoolButton.ZIP 你可以把它作成一个控件(34...
$('#coolButton').click(function() { // 动画或行为代码 }); }); ``` 综合运用这些技术,你可以创建出各种各样的动态按钮效果,提高用户体验并增加网页的互动性。这个压缩包文件很可能是提供了一个具体的实例,...
#coolButton { background-color: #4CAF50; border: none; color: white; padding: 15px 32px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; ...
在当今快速发展的编程世界中,Visual Basic(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 ...
9. **CoolButton.cpp** 和 **CoolButton.h**:可能定义了一个自定义的按钮控件,提供了更丰富的外观或行为,比如动画效果。 10. **MoveList.cpp** 和 **MoveList.h**:这可能与象棋的移动列表有关,用于存储和操作...
"coolbutton"作为压缩包内的文件名,很可能是一个包含了所有按钮设计元素的文件,如图层样式、SVG矢量图、预览图像或者是代码文件。如果这是一套图标集,它可能包括不同格式的文件,如PNG、SVG、EPS,以便在各种平台...
6. CoolButton.cpp:可能包含自定义按钮控件的实现,可能具有特殊的视觉效果或交互方式,提升用户界面的体验。 7. MoveList.cpp:这个文件可能与处理棋局中的移动记录有关,用于存储、读取和分析玩家的每一步操作。 ...