小博老师解析Java核心技术 ——JSwing绘图技术

[引言]

我们在学习Java编程的时候,如果需要开发客户端窗体类型的程序,可以使用JDK中的awt和swing库。本文开始小博老师就继续为大家演示Java窗体编程中的绘图技术,今天主要讲解绘图技术的基本使用方式。

[步骤阅读一]绘图技术基础知识

Java中的绘图技术,主要指的是通过代码在界面中绘制图形,因为有的时候我们需要的图形并不是一成不变的,它可能随着数据、时间、环境等各类因素而随时改变,比如验证码、头像截图、占比饼图、数据柱状图、水印图片等等场景。因此我们不能在界面中显示某张固定的现成图片,而是要根据需要使用算法绘制一张临时图片。

Java中的绘图技术主要使用java.awt.Graphics类来实现,其中封装了很多我们经常需要使用的绘图方法。

[步骤阅读二]基本绘图方法使用

在JSwing窗体中的各类控件,都拥有一个方法:

voidpaintComponent(Graphicsg)

这个方法是控件绘制界面时的调用方法,其中参数Graphics就是界面传递过来的绘图对象。我们可以在这个方法中利用绘图对象绘制我们想要的图形。

接下来小博老师就为大家演示一下绘制直线的方式,核心代码如下:

publicclassGraphicFrameextendsJFrame{

publicGraphicFrame(){

super("博为峰教育");

setBounds(200, 100, 600, 400);

setLayout(null);

// 实例化 自定义Panel派生类对象

panel=newBWFPanel();

panel.setBounds(0, 0, 585, 362);

add(panel);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

privateBWFPanelpanel;

}

publicclassBWFPanelextendsJPanel{

// 重写 绘制界面方法

protectedvoidpaintComponent(Graphicsg) {

super.paintComponent(g);

// 设置 笔触颜色

g.setColor(Color.RED);

// 绘制 直线

g.drawLine(0, 0, 100, 200);

}

}

实例化窗体对象并且运行后,效果如下:

小博老师解析Java核心技术 ——JSwing绘图技术_第1张图片

接下小博老师再给大家演示一下如何绘制矩形,核心代码如下:

publicclassBWFPanelextendsJPanel{

// 重写 绘制界面方法

protectedvoidpaintComponent(Graphicsg) {

super.paintComponent(g);

// 设置 笔触颜色

g.setColor(Color.RED);

// 描边 矩形

g.drawRect(50, 50, 200, 200);

// 填充 矩形

g.fillRect(280, 50, 200, 200);

}

}

实例化窗体对象并且运行后,效果如下:

小博老师解析Java核心技术 ——JSwing绘图技术_第2张图片

最后小博老师再给大家演示一下如何绘制圆形,核心代码如下:

publicclassBWFPanelextendsJPanel{

// 重写 绘制界面方法

protectedvoidpaintComponent(Graphicsg) {

super.paintComponent(g);

// 设置 笔触颜色

g.setColor(Color.RED);

// 描边 圆形

g.drawOval(50, 50, 200, 200);

// 填充 圆形

g.fillOval(280, 50, 200, 200);

}

}

实例化窗体对象并且运行后,效果如下:

小博老师解析Java核心技术 ——JSwing绘图技术_第3张图片

你可能感兴趣的:(小博老师解析Java核心技术 ——JSwing绘图技术)