注意代码中的几个部分:
首先是paintComponent方法中最后一行,我们调用了父类的paintComponent方法,这是因为我们要靠父类来绘制字符,但是父类的这
个方法除了绘制字符之外还会绘制其他的,所以我们需要关闭掉其他的(当然我们也可以自己来绘制字符,但是JButton提供了方法为什么不用呢),所以我
们在构造方法那里调用了:
setBorderPainted(false);
setFocusPainted(false);
setContentAreaFilled(false);
告诉父类不用绘制边框,不用绘制焦点,不用绘制内容部分,这部分我们自己来搞*o*。
然后就是这一句了g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)告诉绘制API我们需要平滑一点,否则绘制出来会有很多锯齿哟。
接下来的这一句g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER,tran))告诉绘图API我们需要绘制一个有透明度的,tran就是透明度(0-1)。
然后就是将边框的边角变直角为圆角,我们绘制一个RoundRectangle2D,这个就是边角都为圆角的方形,然后我们根据这个方形来clip我们的方形,这样方形就被RoundRectangle2D的圆角方形包裹,从而变成了圆角方形。
最后就是绘制外边线和内边线,通过改变内边线和外边线的色变从而造成陷入或者突出效果。
整个JButton改造完毕,如果你能够活用clip的话,你也可以做一个五角星的JButton哟。
原文:http://blog.csdn.net/zhuxiufenghust/article/details/6258051
分享到:
相关推荐
### SwingUI-JFC好书.pdf 知识点详解 #### 一、Swing与JFC简介 本章节主要介绍Swing及其与Java Foundation Classes (JFC) 的关系。Swing是一套用于创建图形用户界面(GUI)的轻量级组件集合,是Java平台的核心组成...
swing组件封装重写
"Java入门补充SwingUI编程完美版知识点" Java入门补充SwingUI编程是Java编程技术中的一种重要组件,用于设计图形用户界面。下面是Java入门补充SwingUI编程的详细知识点: 一、JFrame框架 * JFrame是一个顶层容器...
JAVA Swing UI 是Java平台上用于构建图形用户界面(GUI)的一种工具包,它是Java Foundation Classes (JFC) 的一部分。在本项目中,“JAVA Swing UI 学生信息+计算器”涉及了Swing组件的使用来创建一个包含学生信息...
这段代码实现了连连看游戏的 Swing UI。点击相同的方块可以消除它们。游戏面板是一个 8x8 的网格,其中每个方格都显示一个数字按钮。游戏开始时,随机生成两个不同的方块,并将其放置在网格中的两个不同位置。每次...
Java Swing UI 编程是Java开发中用于创建图形用户界面(GUI)的重要部分。在Java编程技术中,Swing提供了一系列组件和工具,使得开发者能够构建功能丰富的桌面应用。本课件主要涵盖以下三个核心知识点: 1. **...
本项目“多线程抢红包带SwingUI”就是一个很好的实践示例,它结合了Java的Swing库来创建图形用户界面(GUI),使用户可以直观地体验到多线程编程的效果。 首先,我们要理解什么是多线程。在单线程程序中,所有操作...
Quaqua Swing UI Theme是Java Swing用户界面的一个定制主题,设计风格模仿了Mac OS的界面美学,为用户提供了一种与苹果操作系统相似的视觉体验。在Windows或其他非Mac平台使用时,它可能会提供一种不同的视觉感受,...
【Java Swing UI编程】是Java桌面应用开发的重要组成部分,它提供了丰富的组件库来构建图形用户界面(GUI)。在Java编程技术09章节中,我们主要会学习如何利用Swing库来创建美观且功能齐全的用户界面。 首先,我们...
Java编程技术课件:08Swing UI编程(6学时) new.pptx
SwingUI Demo for learning 学习Swing UI的时候,写的小示例。不包括很基础的组件说明(比如文本框、文件选择等) 大部分代码参考自: Demo包括 layout DemoBorderLayout DemoBoxLayout DemoCardLayout ...
### Java Swing UI编程介绍 #### 一、Java Swing概述 Java Swing是Java平台的一个图形用户界面(GUI)工具包,它是Java Foundation Classes (JFC)的一部分。Swing提供了比AWT更多的功能,并且拥有更现代的外观和感觉...
我在学习Java时只是为了娱乐而创建的一个带有swing UI的简单迷宫游戏。 它会生成简单的迷宫,并且可以使用我实现的数据结构通过回溯找到解决方案。 自定义数据结构(链接列表和堆栈)以及回溯算法是我第三学期...
GUIForDummies 一个开始在 Swing UI 上工作的小项目。介绍本作业将为您提供一些使用Swing (图形用户界面的 Java 框架)的经验。 分配的基本思想很简单。 您将编写两个面板类,为作业 1 和作业 2 或 3 中的问题提供...
该项目利用了基于springboot + vue + mysql的开发...Java、Python、Node.js、Spring Boot、Django、Express、MySQL、PostgreSQL、MongoDB、React、Angular、Vue、Bootstrap、Material-UI、Redis、Docker、Kubernetes
本资源“Swing样式大全(全56种经典)”涵盖了56种不同的Swing样式,这为开发者提供了广泛的选择,以便根据项目需求和用户喜好定制UI。下面将对Swing样式的一些核心概念和如何应用这些样式进行详细说明: 1. **默认...
Swing UI Localizer 是一个专为Java Swing应用设计的开源工具,它简化了多语言支持的实现过程。这个工具使得开发者能够快速构建出能够根据用户需求动态切换语言环境的应用程序,提高了用户体验并拓宽了应用的国际化...
使用Java Swing版代码生成器,开发者能够快速地搭建Swing应用的基础框架,然后专注于业务逻辑的实现,而不是基础UI代码的编写。这有助于提高开发速度,降低出错概率,同时使得代码更易于维护。 尽管上述信息是基于...