该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

源码:

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;import javax.swing.*;public class MyClass2 extends JFrame implements KeyListener{

private MyPanel pan;

int f = 0;

int[] [] location_array = new int[2] [736];

private boolean b = false;

private final int x_min = 0;

private final int y_min = 0;

private final int x_max = 620;

private final int y_max = 440;

private int x = 0;

private int y = 0;

public static void main(String[] args) {

// TODO Auto-generated method stub 24,32

MyClass2 mc = new MyClass2();

}

public MyClass2() {

pan = new MyPanel();

this.addKeyListener(this);

this.add(pan,BorderLayout.CENTER);

this.setVisible(true);

this.setTitle("低配画板");

this.setBounds(400,200,646,490);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setResizable(false);

}

public void add (int x,int y) {

this.location_array[0] [f] = x;

this.location_array[1] [f] = y;

f++;

}

class MyPanel extends JPanel{

public void paint (Graphics g) {

super.paint(g);

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

for (int i = 20;i < 640;i += 20) {

g.drawLine(i,0,i,480);

}

for (int i = 20;i < 480;i += 20) {

g.drawLine(0,i,640,i);

}

g.setColor(Color.red);

for (int i = 1;i < 736;i++) {

g.fillRect(location_array[0] [i],location_array[1] [i],20,20);

}

g.setColor(Color.black);

g.fillRect(x,y,20,20);

}

}

@Override

public void keyPressed(KeyEvent e) {

// TODO Auto-generated method stub

if ((e.getKeyChar() == 'w') && (y > y_min)) {

y -= 20;

System.out.println("按钮'up'被按下");

repaint();

}else {

if ((e.getKeyChar() == 's') && (y < y_max)) {

y += 20;

System.out.println("按钮'down'被按下");

repaint();

}

else {

if ((e.getKeyChar() == 'a') && (x > x_min)) {

x -= 20;

System.out.println("按钮'left'被按下");

repaint();

}

else {

if ((e.getKeyChar() == 'd') && (x < x_max)) {

x += 20;

System.out.println("按钮'right'被按下");

repaint();

}

}

}

}

if ((e.getKeyChar() == 'W') && (y > y_min)) {

this.add(x,y);

y -= 20;

System.out.println("按钮'up'被按下");

repaint();

}else {

if ((e.getKeyChar() == 'S') && (y < y_max)) {

this.add(x,y);

y += 20;

System.out.println("按钮'down'被按下");

repaint();

}

else {

if ((e.getKeyChar() == 'A') && (x > x_min)) {

this.add(x,y);

x -= 20;

System.out.println("按钮'left'被按下");

repaint();

}

else {

if ((e.getKeyChar() == 'D') && (x < x_max)) {

this.add(x,y);

x += 20;

System.out.println("按钮'right'被按下");

repaint();

}

}

}

}

}

@Override

public void keyReleased(KeyEvent arg0) {

// TODO Auto-generated method stub

}

@Override

public void keyTyped(KeyEvent arg0) {

// TODO Auto-generated method stub

}}

操作方法:w,a,s,d移动,摁住Shift画。

这个画板低配到没有橡皮也不能改颜色

JAVA如何在画板加分数_自学了java一段时间,做了个最低配的画板相关推荐

  1. java类二次加载_深入理解java之类加载器

    一.类与类加载器 类加载器:实现加载阶段的第一步,通过一个类的全限定名来将这个类的二进制字节流加载进jvm. 类与类加载器:任意一个类唯一性都是由它本身和加载它的类加载器确定,两个类是否相等在它们是由 ...

  2. java实现订单未支付失效_生成订单后一段时间不支付订单会自动关闭的功能该如何实现?...

    业务场景 我们以订单功能为例说明下:生成订单后一段时间不支付订单会自动关闭.最简单的想法是设置定时任务轮询,但是每个订单的创建时间不一样,定时任务的规则无法设定,如果将定时任务执行的间隔设置的过短,太 ...

  3. 【Java速成教学】桌球游戏项目_教你用最短的时间开发桌球小游戏_Java初学者项目

    Java小游戏项目回归!今天给大家带来的是桌球游戏~ 本课程面向刚入门或者有一定Java基础的人群,帮助学员理解面向对象编程,并将基础知识进行实际应用,最终目标为开发出一个功能强大的桌球游戏.[Jav ...

  4. java实现爬取新浪新闻指定天数(一段时间)的头条新闻

    目标:java实现爬取新浪新闻指定天数(一段时间)的头条新闻 需要导入jar包:fastjson和Jsoup. IDEA导入jar包办法:Intellij IDEA 添加jar包的三种方式 思路: 找 ...

  5. java 怎么获取object的数据_自学java,想将来从事大数据工作,现实吗?怎么学?...

    自学java,想将来从事大数据工作,怎么学? 我是大一通信工程的一名学生,我们学习的是C,但我将来想从事大数据开发的工作,我想向各位大佬请教一下,像我这种情况,自学java然后去从事大数据工作是不是不 ...

  6. Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算

    展开全部 import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...

  7. java date加月_如何在Java中向当前日期添加一个月?

    LocalDate::plusMonths 例: LocalDate.now( ) .plusMonths( 1 ); 最好指定时区. LocalDate.now( ZoneId.of( " ...

  8. java哪个软件编程好学吗_自学编程:Java和C语言相比哪个好?哪个更值得学习?...

    零基础学编程 对于很多初学者来讲,不太清楚Java和C语言的区别,为了让那个大家更清晰的了解,近日特意给大家归纳了一些两者的大致区别,希望能够给大家带来一定的帮助. Java Java是一种可以撰写跨 ...

  9. java画太极加图片_新手初学java 尝试编程绘画太极图

    我是个新手,对java理解还不深入,看了些java方面的基础视频,自己尝试着把中国的古老的太极图给画出来,经过一些思考和动手,终于把太极图给绘画出来. 记得以前某位高手也画过类似的太极图,不过当时自己 ...

最新文章

  1. Liunx下HPCC(HPC Challenge)的安装运行
  2. 数字图像处理实验(9):PROJECT 04-05,Correlation in the Frequency Domain
  3. androidstuido 查看logs_使用 Logcat 写入和查看日志
  4. 下单消息的发送和接收案例
  5. 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----其他(攻击方式)篇
  6. 北大教授证明黎曼猜想?但在前一天取消了
  7. 谷歌发布 Windows 10 图形组件 RCE 漏洞的详情
  8. CentOS8下安装wget、wget2
  9. 谁能辨我是雄雌?轩墨宝宝个人资料,轩墨宝宝CP照!
  10. 深度学习数据集—鞋子、凉鞋和靴子图片数据集介绍
  11. oracle游标添加数据,Oracle使用游标更新数据
  12. python游戏背景音乐循环播放_9.2 播放背景音乐_师傅带徒弟学:Python视频课程之游戏开发引擎Cocos2d-Python_Python视频-51CTO学院...
  13. 飞书第三方ISV服务商应用开发及上架教程
  14. 美国各州人口数据分析
  15. Java泛型方法的定义
  16. EL表达式处理字符串
  17. 计算机网络体系结构详解(图文)
  18. 春天的味道——四月周报
  19. 字符串魔法hard(前后缀与贪心)
  20. 学习PS课堂重点笔记(3.明暗调整和选区进阶)

热门文章

  1. 剪切粘贴时总是上次的内容_【Procreate 迷你课堂】#4 三指快速拷贝及粘贴
  2. 报错处理:sh: 1: Syntax error: “(“ unexpected
  3. 阿里腾讯今日头条纷纷选择的工具,ClickHouse到底有什么本事?
  4. 抽取样本java实验报告_一个自定义classloader的函数抽取壳样本
  5. python ioctl_ioctl()函数 Unix/Linux
  6. 实战项目五:抓取简书文章信息
  7. 水声定位中的CBF波束形成原理
  8. 第六章---机器学习与数据建模
  9. A Step By Step Guide to Tomcat Performance Monitoring【转】
  10. 从技术角度谈一谈,我参与设计开发的手Q春节红包项目--转