JAVA如何在画板加分数_自学了java一段时间,做了个最低配的画板
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
源码:
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一段时间,做了个最低配的画板相关推荐
- java类二次加载_深入理解java之类加载器
一.类与类加载器 类加载器:实现加载阶段的第一步,通过一个类的全限定名来将这个类的二进制字节流加载进jvm. 类与类加载器:任意一个类唯一性都是由它本身和加载它的类加载器确定,两个类是否相等在它们是由 ...
- java实现订单未支付失效_生成订单后一段时间不支付订单会自动关闭的功能该如何实现?...
业务场景 我们以订单功能为例说明下:生成订单后一段时间不支付订单会自动关闭.最简单的想法是设置定时任务轮询,但是每个订单的创建时间不一样,定时任务的规则无法设定,如果将定时任务执行的间隔设置的过短,太 ...
- 【Java速成教学】桌球游戏项目_教你用最短的时间开发桌球小游戏_Java初学者项目
Java小游戏项目回归!今天给大家带来的是桌球游戏~ 本课程面向刚入门或者有一定Java基础的人群,帮助学员理解面向对象编程,并将基础知识进行实际应用,最终目标为开发出一个功能强大的桌球游戏.[Jav ...
- java实现爬取新浪新闻指定天数(一段时间)的头条新闻
目标:java实现爬取新浪新闻指定天数(一段时间)的头条新闻 需要导入jar包:fastjson和Jsoup. IDEA导入jar包办法:Intellij IDEA 添加jar包的三种方式 思路: 找 ...
- java 怎么获取object的数据_自学java,想将来从事大数据工作,现实吗?怎么学?...
自学java,想将来从事大数据工作,怎么学? 我是大一通信工程的一名学生,我们学习的是C,但我将来想从事大数据开发的工作,我想向各位大佬请教一下,像我这种情况,自学java然后去从事大数据工作是不是不 ...
- Java show两个整数加减_怎么样用java编写界面实现两个数的加法运算
展开全部 import java.awt.Font; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; ...
- java date加月_如何在Java中向当前日期添加一个月?
LocalDate::plusMonths 例: LocalDate.now( ) .plusMonths( 1 ); 最好指定时区. LocalDate.now( ZoneId.of( " ...
- java哪个软件编程好学吗_自学编程:Java和C语言相比哪个好?哪个更值得学习?...
零基础学编程 对于很多初学者来讲,不太清楚Java和C语言的区别,为了让那个大家更清晰的了解,近日特意给大家归纳了一些两者的大致区别,希望能够给大家带来一定的帮助. Java Java是一种可以撰写跨 ...
- java画太极加图片_新手初学java 尝试编程绘画太极图
我是个新手,对java理解还不深入,看了些java方面的基础视频,自己尝试着把中国的古老的太极图给画出来,经过一些思考和动手,终于把太极图给绘画出来. 记得以前某位高手也画过类似的太极图,不过当时自己 ...
最新文章
- Liunx下HPCC(HPC Challenge)的安装运行
- 数字图像处理实验(9):PROJECT 04-05,Correlation in the Frequency Domain
- androidstuido 查看logs_使用 Logcat 写入和查看日志
- 下单消息的发送和接收案例
- 对现有的所能找到的DDOS代码(攻击模块)做出一次分析----其他(攻击方式)篇
- 北大教授证明黎曼猜想?但在前一天取消了
- 谷歌发布 Windows 10 图形组件 RCE 漏洞的详情
- CentOS8下安装wget、wget2
- 谁能辨我是雄雌?轩墨宝宝个人资料,轩墨宝宝CP照!
- 深度学习数据集—鞋子、凉鞋和靴子图片数据集介绍
- oracle游标添加数据,Oracle使用游标更新数据
- python游戏背景音乐循环播放_9.2 播放背景音乐_师傅带徒弟学:Python视频课程之游戏开发引擎Cocos2d-Python_Python视频-51CTO学院...
- 飞书第三方ISV服务商应用开发及上架教程
- 美国各州人口数据分析
- Java泛型方法的定义
- EL表达式处理字符串
- 计算机网络体系结构详解(图文)
- 春天的味道——四月周报
- 字符串魔法hard(前后缀与贪心)
- 学习PS课堂重点笔记(3.明暗调整和选区进阶)
热门文章
- 剪切粘贴时总是上次的内容_【Procreate 迷你课堂】#4 三指快速拷贝及粘贴
- 报错处理:sh: 1: Syntax error: “(“ unexpected
- 阿里腾讯今日头条纷纷选择的工具,ClickHouse到底有什么本事?
- 抽取样本java实验报告_一个自定义classloader的函数抽取壳样本
- python ioctl_ioctl()函数 Unix/Linux
- 实战项目五:抓取简书文章信息
- 水声定位中的CBF波束形成原理
- 第六章---机器学习与数据建模
- A Step By Step Guide to Tomcat Performance Monitoring【转】
- 从技术角度谈一谈,我参与设计开发的手Q春节红包项目--转