JAVA开发是男人就坚持10秒_图形文本绘制

paint方法

      如果要在窗口中画图或者显示什么内容,我们需要重写paint(Graphics g)方法。 这个方法的作用是:画出整个窗口及其内部内容。它会被系统自动调用。我们自己不需要去调用这个方法。

【示例13-2】paint方法介绍

@Override
public void paint(Graphics g) {  
    //paint方法作用是:画出整个窗口及内部内容。被系统自动调用。
         
}

·Graphics画笔对象_画图形

      Graphics对象,我们可以把它想象成“一支画笔”,窗口中的图形都由这支“画笔”画出来的。

      画出每个图形都需要指定图形所在“矩形区域”的位置和大小。比如绘制椭圆。g.drawOval(100, 50, 300, 300); 实际上,就是根据椭圆所在的外切矩形来确定椭圆的基本信息。上面4个参数指的是椭圆外切矩形:左上角顶点(100px,50px),宽度300px,高度300px。

使用paint方法画图形:

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

import javax.swing.JFrame;

/**
 * 飞机游戏的主窗口
 * @author 赵广陆
 *
 */
public class MyGameFrame  extends  JFrame {
	
	Image   ball  = GameUtil.getImage("images/ball.png");
	
	@Override
	public void paint(Graphics g) {		//自动被调用。  g相当于一只画笔
		Color   c = g.getColor();
		Font   f =  g.getFont();
		g.setColor(Color.white); 
		
		g.drawLine(100, 100, 300, 300);
		g.drawRect(100, 100, 300, 300);
		g.drawOval(100, 100, 300, 300);
		g.fillRect(100, 100, 40, 40);
		g.setColor(Color.white);
		g.setFont(new  Font("宋体",Font.BOLD,20));
		g.drawString("游戏时间长度:", 200, 200);
		
		g.drawImage(ball, 250, 250, null);
		
		g.setColor(c);
		g.setFont(f);
		
		
		
	}
	
	/**
	 * 初始化窗口
	 */
	public  void  launchFrame(){
		this.setTitle("是男人就坚持10秒");
		this.setVisible(true);
		this.setSize(500, 500);
		this.setLocation(300, 300);
		
		this.addWindowListener(new WindowAdapter() {
			@Override
			public void windowClosing(WindowEvent e) {
				System.exit(0);
			}
		});
		
	}
	
	public static void main(String[] args) {
		MyGameFrame  f = new MyGameFrame();
		f.launchFrame();
	}
	
}

运行效果:

发布了127 篇原创文章 · 获赞 7 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/ZGL_cyy/article/details/104139144
今日推荐