贪吃蛇第二弹

贪吃蛇第二弹

内容:创建一个界面,并在界面中画单元格
代码如下:

package snake;
import java.awt.Color;
import java.awt.Frame;
import java.awt.Graphics;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
/**
 * 项目名称:Snake 
 * 创建人:YM 
 * 类描述: 创建一个界面,并在界面中画单元格
 *  创建时间:2019年1月16日 下午2:59:06
 *
 */
  public class SnakeMain extends Frame {
  private static final int SNAKE_WIDTH = 1000; // 定义组件的宽度
  private static final int SNAKE_HEIGHT = 600; // 定义组件的高度
  private static final int squareSize = 25; // 用来确定单元格的大小
  
  public static void main(String[] args) {
  SnakeMain s = new SnakeMain(); // 构建SnakeMai类的一个实例,并命名为s
  s.launchFrame(); // 调用实例中的launchFrame()方法
 }
 private void launchFrame() {
  this.setLocation(100, 100); // 确定组件位置
  this.setSize(SNAKE_WIDTH, SNAKE_HEIGHT); // 确定组件大小
  this.setBackground(Color.WHITE); // 确定组件背景颜色
  this.setTitle("我的贪吃蛇"); // 设置窗口的标题
  // 添加关闭的处理事件
  this.addWindowListener(new WindowAdapter() {
   // 添加一个窗口监听
   @Override
   public void windowClosing(WindowEvent e) {
    System.exit(0); // 窗口关闭事件
   }
   });
  // 禁止改变窗的大小
  this.setResizable(false);
  this.setVisible(true);
 }
 
 @Override
 public void paint(Graphics g) {
  // 调用画笔
  Color c = g.getColor();
  g.setColor(Color.GRAY); // 设置画笔颜色
  int xweight = SNAKE_WIDTH / squareSize;
  int xheight = SNAKE_HEIGHT / squareSize;
  // 画线
  for (int i = 0; i < xweight; i++) {
   g.drawLine(i * squareSize, 0, i * squareSize, SNAKE_HEIGHT);
  } // 画纵向的线
  for (int i = 0; i < xheight; i++) {
   g.drawLine(0, i * squareSize, SNAKE_WIDTH, i * squareSize);
  } // 画横向的线
  g.setColor(c);
 }
}

样图

在这里插入图片描述

从贪吃蛇第二弹中学到的知识点:

1,Java中的public,private,static,final

public,private是访问权限修饰符,用于控制外界对类的内部成员的访问,其中

public:表明对象成员是完全共有的,外界可以随意访问

private:表明对象成员是完全私有的,不容许外界的任何访问

static,final是控制成员变化的修饰符

static:静态成员修饰符,其修饰的静态变量脱离具体对象而存在,所有的对象都公用这个修饰符的存储空间,所以对static修饰的静态变量在进行修改时对所有对象都起作用所以说static本质上是一个全局变量,声明为static的方法有三条限制
1,它们仅可以调用其他的static方法
2,它们只能访问static数据
3,它们不能已任何形式引用this,super

final:final用来修饰方法和属性表示特殊意义,修饰方法时表示该方法不能被重写,修饰属性时表示属性不能被改变,属性又分为对象和基本类型,修饰基本类型时表示基本类型赋值后不能被赋值,修饰对象表示这个属性不能在指向其他对象

2,public void paint (Graphics g)
paint()方法主要作用是在Applet的界面中显示文字,图形和其他界面元素

repaint()方法用于重绘组件,但该方法并不总是马上执行,只能尽可能快的执行,具有刷新页面的效果,repaint()通过调用线程,再由线程去调用update()方法清除当前显示再调用paint()方法绘制下一个需要显示的图形,从而在视角上形成动画

update():清除当前显示,并调用paint()方法

Graphics是一个抽象类,它的对象是用来传给paint()方法作为画笔的

画线:Graphics中的drawLine(int x1,int y1,int x2 int y2)方法
例:g.drawLine(10,5,100,200)此代码是在(10,5)与(100,200)之间画一条线
g.drawLine (10,10,10,10)此代码是在(10,10)处画一个点

画矩形:drawRect(int x,int y,int width,int height)
(x,y)确定了该矩形的左上角位置,width,height分别确定了矩形的宽和高
g.setColor(Color.color)用于设置画笔的颜色
fillRect(int x,int y,int width,int height)是用预定义的颜色填充一个矩形得到着色的矩形块

画圆角矩形:drawRoundRect(int x,int y,int width,int height,int arcWidth,int arcHeight)
arcWidth和arcHeight分别是圆角弧的横向直径和圆角弧的纵向直径
fillRoundRect(int x,int y,int width,int height,int arcWidth,int arcHeight)是用预定义的颜色填充一个圆角矩形得到着色的圆角矩形块
当圆角矩形的weight,height,arcWidth,arcHeight相等时,得到的是圆形

画椭圆形:drawOval(int x,int y,int width,int height)
(x,y)确定了该椭圆形的左上角位置,width,height分别确定了椭圆形的横轴和纵轴
fillOval(int x,int y,int width,int height)是用预定义的颜色填充一个椭圆形得到着色的椭圆形块

画圆弧:drawArc(int x,int y,int width,int height,int startAngle,int arcAngle)
(x,y)确定了左上角位置,width,height分别确定了宽和高,startAngle的单位是度,startAngle和int arcAngle表示从startAngle角度开始,逆时针画向arcAngle的弧

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值