graphics函数 java_java绘图技术——Graphics

*绘图原理:

Component类提供了两个和绘图相关最重要的方法

paint(Graphics g)绘制组件的外观

repaint()刷新组件的外观(展示动态)

*当组件第一次在屏幕上显示的时候,程序会自动调用paint()方法

*以下情况paint()会被调用

窗口最小化,再最大化

窗口的大小发生变化

repaint函数被调用

*Graphics提供了各种绘制图形的方法:

画直线:drawLine(int x1,int y1,int x2,int y2);

画矩形边框:drawRect(int x,int y,int width,int height);

填充矩形:fillRect(int x,int y,int width,int height);

画圆:drawOval(int x,int y,int width,int height);

填充圆:fillOval(int x,int y,int width,int height);

画图片:drawImage(Image img,int x,int y……);

画字符串:drawString(String str,int x,int y);

设置画笔的字体:setFont(Font font);

设置画笔的颜色:setColor(Color c);

……

代码:

package com.test1;

import java.awt.*;

import javax.swing.*;

public class Demo9_1 extends JFrame

{

MyPanel mp=null;

public static void main(String[] args)

{

Demo9_1 Demo9_1=new Demo9_1();

}

public Demo9_1()

{

mp=new MyPanel();

this.add(mp);

this.setSize(400, 300);

this.setDefaultCloseOperation(EXIT_ON_CLOSE);

this.setVisible(true);

}

}

//定义一个MyPanel

class MyPanel extends JPanel

{

//覆盖JPanel的paint方法

//Graphics是绘图的重要类,相当于画笔

public void paint(Graphics g)

{

//调用父类,完成初始化

//此句话不能少!!!

super.paint(g);

System.out.println("paint被调用");

//先画一个圆

g.drawOval(10, 10, 30, 30);// 画圆

//画出直线

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

//画出矩形边框

g.drawRect(10,10,40,60);

//调整颜色

g.setColor(Color.blue);

g.fillRect(10, 10, 1200, 30);

g.setColor(Color.red);

g.fillRect(10, 100, 1200, 30);

Image im=Toolkit.getDefaultToolkit().getImage(Panel.class.getResource("/1234.jpg"));

//显示出来

g.drawImage(im,90,90,200,150,this);

//如何画字符串

g.setColor(Color.red);

g.setFont(new Font("隶书 ",Font.BOLD,50));

g.drawString("祖国万岁", 180, 60);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值