Java图形绘制 尚学堂088

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

设置画笔的颜色和字体前,先把原来的保存,最后用完这个画笔后,把原来的颜色和字体还给它,有借有还。

 

package cn.sxt.game;
 
import javax.swing.JFrame;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.Image;
import java.awt.*;
 
public class MyGameFrame extends JFrame {

	@Override
	public void paint(Graphics g) {
		Color c = g.getColor();//先保存原来的颜色
		Font f = g.getFont();//一样,原来字体先存起来,有借有还
		
		g.setColor(Color.blue);
		
		//paint方法作用是:画出整个窗口及内部内容。被系统自动调用。
		System.out.println(">>>调用update方法");
		super.paint(g);
		//从坐标点(200,100)到(600,600)画出直线
	    g.drawLine(200, 100, 600, 600); 
	    
	    //画出矩形。矩形左上角顶点坐标(200,100),宽度600,高度600
	    g.drawRect(200, 100, 600, 600);  
	    //画出椭圆。椭圆外切矩形为:左上角顶点(200,100),宽度600,高度600
	    g.drawOval(200, 100, 600, 600);
	    g.fillRect(200, 100, 100, 100);
	    g.setColor(Color.red);
	    g.setFont(new Font("宋体", Font.BOLD, 50));
	    g.drawString("我是谁?", 500, 500);
	    
	    g.setColor(c);//最后用完了再把原来的颜色还给它
	    g.setFont(f);//最后再把原来的字体放回去
    }
	
    public void launchFrame(){
    	
        //在游戏窗口打印标题
        setTitle("GAME!");

        //窗口大小:宽度500,高度500
        setSize(1000, 1000);
        //窗口左上角顶点的坐标位置
        setLocation(300, 300);
        
        setVisible(true);//窗口默认不可见,设为可见
         
        //增加关闭窗口监听,这样用户点击右上角关闭图标,可以关闭游戏程序
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });
    }
     
    public static void main(String[] args) {
        MyGameFrame f = new MyGameFrame();
        f.launchFrame();
    }
}

 

展开阅读全文
©️2020 CSDN 皮肤主题: 游动-白 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值