您的位置:首页 > 编程语言 > Java开发

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

2017-01-05 00:00 387 查看
[引言]

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

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

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

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

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

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

void paintComponent(Graphics g)

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

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

public class GraphicFrame extends JFrame{

public GraphicFrame(){

super("博为峰教育");

setBounds(200, 100, 600, 400);

setLayout(null);

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

panel = new BWFPanel();

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

add(panel);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

private BWFPanel panel;

}

public class BWFPanel extends JPanel{

// 重写 绘制界面方法

protected void paintComponent(Graphics g) {

super.paintComponent(g);

// 设置 笔触颜色

g.setColor(Color.RED);

// 绘制 直线

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

}

}

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





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

public class BWFPanel extends JPanel{

// 重写 绘制界面方法

protected void paintComponent(Graphics g) {

super.paintComponent(g);

// 设置 笔触颜色

g.setColor(Color.RED);

// 描边 矩形

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

// 填充 矩形

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

}

}

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





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

public class BWFPanel extends JPanel{

// 重写 绘制界面方法

protected void paintComponent(Graphics g) {

super.paintComponent(g);

// 设置 笔触颜色

g.setColor(Color.RED);

// 描边 圆形

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

// 填充 圆形

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

}

}

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



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息