Java项目体验
- 1. JAVA开发环境安装和配置
a) 下载JDK(Java Development Kit)
b) 安装JDK、 JRE(Java Runtime environment)
c) 配置环境变量:
i. path(系统通过path指定的目录寻找相关的可执行文件!)
右键单击我的电脑à属性à高级à环境变量à修改path即可!
ii. classpath(系统通过classpath寻找类文件)
JDK1.5之后,可以不设置!
- 2. Eclipse的使用(目前使用最多的IDE:integrated development environment集成开发环境)
a) 下载
b) 解压即可
- 3. 新建一个JAVA项目
a) New Java Projectà只需要输入project name,回车即可!
- 4. 新建一个JAVA类
a) 右键单击srcànew àClassà键入类名:BallGame
b) 输入代码:
|
public class BallGame { public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); } } |
c) 运行java程序的三种方式:
i. 右键单击àRun asàjava application
ii. Alt+shift+X,再按J
iii. Ctrl+F11
iv. 单击运行按钮
开始开发我们的小游戏
- 增加窗口
|
import java.awt.*; public class BallGame extends Frame { void launchFrame(){ setSize(500, 300); setLocation(50, 50); setVisible(true); setTitle("尚学堂---张三作品"); setBackground(Color.black); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } } |
- 加载图片
|
在项目下新建images文件夹,将sun.jpg拷贝到images下面 |
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! public void paint(Graphics g){ g.drawImage(sun, 100, 100, null); } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } } |
|
注意:运行时,第一次打开窗口看不到图片。需要将窗口最小化再打开即可看到! |
- 学习画各种曲线、形状、字符串:
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! public void paint(Graphics g){ g.drawImage(sun, 100, 100, null); g.setColor(Color.blue); g.drawLine(100, 100, 200, 200); g.drawRect(50, 50, 100, 80); g.drawOval(50, 50, 100, 80); g.setColor(Color.yellow); g.drawString("游戏开始啦!!", 80, 80); } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } } |
- 增加动画
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! int x=100; int y=100; public void paint(Graphics g){ System.out.println("窗口被画了一次!"); g.drawImage(sun, x, y, null); x = x+2; } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); new PaintThread().start(); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } class PaintThread extends Thread { public void run(){ while(true){ repaint(); //重画窗口! try{ Thread.sleep(40); //40ms 1s=1000ms }catch (Exception e) { e.printStackTrace(); } } } } } |
- 通过我们掌握的数学函数(抛物线、正弦曲线、椭圆等),控制游戏中物体的运动!
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! double x=100; double y=100; double degree = 0; public void paint(Graphics g){ System.out.println("窗口被画了一次!"); g.drawImage(sun, (int)x,(int)y, null); x =150+ 100*Math.cos(degree); y = 150+100*Math.sin(degree); degree = degree + 0.1; } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); new PaintThread().start(); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } class PaintThread extends Thread { public void run(){ while(true){ repaint(); //重画窗口! try{ Thread.sleep(40); //40ms 1s=1000ms }catch (Exception e) { e.printStackTrace(); } } } } } |
- 实现台球的运动!
|
import java.awt.*; public class BallGame extends Frame { Image sun = Toolkit.getDefaultToolkit().getImage("images/sun.jpg"); //这种写法并不好,但是是最简单的! double x=100; double y=100; double degree = 3.14/3; public void paint(Graphics g){ System.out.println("窗口被画了一次!"); g.drawImage(sun, (int)x,(int)y, null); x = x+ 10*Math.cos(degree); y = y+10*Math.sin(degree);
if(y>300-30){ degree = - degree; } if(x>500-30){ degree = 3.14-degree; } if(x<0){ degree = 3.14-degree; } if(y<30){ degree = -degree; } } void launchFrame(){ setSize(500, 300); setLocation(50, 50); setTitle("尚学堂---张三作品"); setBackground(Color.black); setVisible(true); new PaintThread().start(); } public static void main(String[] args){ System.out.println("我是尚学堂的高淇!"); new BallGame().launchFrame(); } class PaintThread extends Thread { public void run(){ while(true){ repaint(); //重画窗口! try{ Thread.sleep(40); //40ms 1s=1000ms }catch (Exception e) { e.printStackTrace(); } } } } } |
- 通过键盘来控制物体的运动!
[微软用户1]暂时跟我们的游戏无关,但是一些基本的编程知识!
Java项目体验的更多相关文章
- 【Github开源项目体验】- ZFile 基于 Java 的在线网盘
[Github开源项目体验]- ZFile 基于 Java 的在线网盘 在线云盘.网盘.OneDrive.云存储.私有云.对象存储.h5ai.上传.下载 date: 2022-08-02 addres ...
- JetBrains Fleet初体验,如何运行一个java项目
序言 各位好啊,我是会编程的蜗牛,JetBrains 日前宣布其打造的下一代 IDE Fleet 正式推出公共预览版,现已开放下载.作为java开发者,对于JetBrains开发的全家桶可以说是印象深 ...
- 第1章Java入门体验
第1章Java入门体验 1.java简介和平台应用 Java是sun公司开发出来,现在属于ORACLE公司java分为几个部分:首先是最基础的Java SE部分,这部分是Java的基础知识,主要包括: ...
- Windows Server 2012 R2服务器部署Tomcat JDK、安装Mysql以及将Java项目部署到CVM
我们平时所调试的Java Web 项目需要在本地Eclipse或者MyEclipse当中开发调试,并且部署到Tomcat上来测试,比如说笔者这里用的eclipse添加tomcat服务器, 但是这里发布 ...
- Java项目框架搭建系列(Java学习路线)
前言: 已经工作4年,真是时间飞逝. 其实当你在一间公司工作一两年之后,公司用到的开发框架的基本使用你应该都会了. 你会根据一个现有项目A复制一下搭建出另外一个类似框架的项目B,然后在项目B上进行业务 ...
- 细数Java项目中用过的配置文件(YAML篇)
灵魂拷问:YAML,在项目中用过没?它与 properties 文件啥区别? 目前 SpringBoot.SpringCloud.Docker 等各大项目.各大组件,在使用过程中几乎都能看到 YAML ...
- 从零构建Java项目(Maven+SpringBoot+Git) #02 奥斯丁项目
前两天我说要写个项目来持续迭代,有好多小伙伴都表示支持和鼓励,项目的第一篇这不就来了么~我给项目取了个名字,英文名叫做:austin,中文名叫做:奥斯丁 名字倒没有什么特别的含义,我单纯觉得这个名字好 ...
- eclipse — 导入android项目后识别成java项目的问题及解决
最近在eclipse导入android项目的时候遇到了奇葩问题,再此记录 遇到的问题就是:将完好的android项目导入到eclipse的时候,原本这是一个很容易的事情,但是导入成功后发现,,,靠ec ...
- owner:轻松管理java项目配置
前段时间,一同事说在 github 上“活捉了”一个很有趣的开源项目,它是一个超轻量级的 jar 包,能够帮助你在 java 项目中摒弃样板式的 properties 配置代码,让你轻松自如地管理和使 ...
随机推荐
- 《F4+2团队项目需求改进与系统设计》
任务一 a.分析<动态的太阳系模型项目需求规格说明书>初稿的不足. 任务概述描述的有些不具体,功能的规定不详细,在此次作业进行了修改. b.参考<构建之法>8.5节功能的定位和 ...
- 《WAP》团队第三次作业--团队项目的原型设计与开发
一· 目 录 第一部分 · 结 对 成 员 明 细 第二部分 · NABCD 模 型 第三部分 · 原 型 设 计 第四部分 · P S P 第五部分 · 结 对 过 程 第六部分 · 心 得 总 ...
- air for android 使用ANE来获取安卓手机IMEI号
一首页创建一个ANE文件 1 使用FlashBuilder 或者Eclipse 创建一个新的android项目 A 创建文件Extension.java package com.dabing. ...
- 基于Socket的Android手机视频实时传输
首先,简单介绍一下原理.主要是在手机客户端 (Android)通过实现Camera.PreviewCallback接口,在其onPreviewFrame重载函数里面获取摄像头当前图像数据, 然后通过S ...
- iconfont使用方法
最近才发现一种新的iconfont的使用方法 http://www.iconfont.cn/ 经常使用的图标放在一个项目里 需要关注的几点: 使用方法有三种方式unicode , font clas ...
- 百度echart如何动态生成图表
百度echart如何动态生成图表 一.总结 一句话总结: clear hideloading setOption 主要是下面三行代码: myChart.clear(); //清空画布myChart.h ...
- 用Omniauth来Login with Facebook(Go-rails课程)
https://gorails.com/episodes/login-with-facebook?autoplay=1 大概看了一遍,留了视频的截图. https://gorails.com/epis ...
- 斐波拉契数列(用JavaScript和Python实现)
1.用JavaScript 判断斐波拉契数列第n个数是多少 //需求:封装一个函数,求斐波那契数列的第n项 //斐波拉契数列 var n=parseInt(prompt("输入你想知道的斐波 ...
- 『PyTorch』第五弹_深入理解autograd_下:函数扩展&高阶导数
一.封装新的PyTorch函数 继承Function类 forward:输入Variable->中间计算Tensor->输出Variable backward:均使用Variable 线性 ...
- ubuntu谷歌浏览器安装
sudo apt-get install chromium-browser-dbg 然后按照规定就好了.