天天看点

《Java数字图像处理:编程技巧与应用实践》——1.3 用Java Swing绘制自定义的JPanel

本节书摘来自华章计算机《java数字图像处理:编程技巧与应用实践》一书中的第1章,第1.3节,作者 贾志刚,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

swing的jpanel组件是gui编程中最重要的面板组件,可以通过重写jpanel中paint-component方法实现对jpanel面板组件的背景颜色的调整或添加背景图片,进而实现自定义版本的面板(jpanel)组件。只要完成如下几步就可以实现一个简单自定义jpanel面板的绘制。

1)实现对jpanel面板的继承,代码如下:

2)完成对paintcomponent(graphics g)对象的重载,代码如下:

3)访问graphics绘制引擎,设置画笔颜色并完成绘制,在java 2d中paint支持三种不同的画笔颜色填充策略,它们分别是:

单一颜色填充,如color.blue、color.red等。代码如下:

线性渐变颜色填充(gradientpaint),可以细分为水平与竖直方向。代码如下:

圆周径向渐变颜色填充(radialgradientpaint),支持两种以上的颜色渐变。代码如下:

4)设置背景图片支持。很多时候我们希望jpanel背景是一张图片而不是颜色填充,此时只需要将bufferedimage对象通过drawimage()方法放在paintcomponent()中即可,唯一需要注意的地方就是确保bufferedimage对象不为null。代码如下:

5)实现一个测试的main方法代码如下:

读者可以下载相关文档查看完整的源代码,源代码是本书的一部分,请读者尽量运行源代码,这样可以更好地帮助读者理解所学内容。